以编程方式单击UIImageView上的Event

时间:2014-05-12 11:02:14

标签: objective-c ios7 uiimageview

我正在显示代码中的图像集合, 这是我的代码:

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

我想以编程方式处理addimageView上的触摸事件。

2 个答案:

答案 0 :(得分:7)

我会建议不同的方法。将tap手势识别器添加到imageview。这可能是最简单的解决方案。如果你有添加图像视图的addImageView方法,那么继续这样,

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

答案 1 :(得分:1)

您必须对其进行子类化并覆盖-touchesBegan:方法,或者您可以为此对象添加手势识别器。这是关于它的文档: Event Handling Guide for iOS

好方法是对这个类进行子类化,并在类中添加手势识别器。