Pregunta

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.

¿Fue útil?

Solución

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);
}

Otros consejos

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top