Question

I'am displaying a collection of images from code, This is my code:

UIImageView *addview;
myimgeview *addimageview =[[myimgeview alloc]initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@%d",PhotoName,i]] text:[textArray objectAtIndex:i]];

I want to handle the touch event on the addimageView programmatically.

Était-ce utile?

La solution

I would suggest different approach. Add tap gesture recognizer to the imageview. That is probably easiest solutions. If you have addImageView method that adds image view to view then, go on like this,

- (void)addImageView
{
    UIImageView * imageView = [[UIImageView alloc] initWithFrame:CGRectMake(10,10,100,100);
    imageView.userInteractionEnabled = YES;
    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self selector:@selector(tapped:)];
    [imageView addGestureRecognizer:tap];
}

- (void)tapped:(UITapGestureRecognizer*)tap
{
    NSLog(@"%@", tap.view);
}

Autres conseils

You have to subclass it and override -touchesBegan: method or you can add gesture recognizer to this object. Here is documentation about that: Event Handling Guide for iOS

Good way is to subclass this class and add gesture recognizer inside the class.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top