UIImageView添加點擊事件

UIImageView并不像UIButton那樣點擊鼠標就可以關聯點擊事件,也不像Android里有onClickListener,這個時候就需要借助UITapGestureRecognizer類,從類名上就可以看出,這個類就是用于處理tap(單擊)事件的。
創建兩個UIImageView對象,imageView1和imageView2

[imageView1 setUserInteractionEnabled:YES];

[imageView2 setUserInteractionEnabled:YES];

[imageView1 addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(clickCategory:)]];

[imageView2 addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(clickCategory:)]];

經測試,多個UIImageView不能共用一個UITapGestureRecognizer對象,之前調用的會沒效果。
根據點擊的view判斷來自誰的點擊

-(void)clickCategory:(UITapGestureRecognizer *)gestureRecognizer
{
NSLog(@"click");
NSLog(@"%hhd",[gestureRecognizer isMemberOfClass:[UITapGestureRecognizer class]]);

UIView *viewClicked=[gestureRecognizer view];
if (viewClicked==imageView1) {
    NSLog(@"imageView1");
}else if(viewClicked==imageView2)
{
    NSLog(@"imageView2");
}

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容