转载于:http://www.pocketdigi.com/20140218/1276.html
UIImageView并不像UIButton一样,点点鼠标就可以关联点击事件,也不像Android里有onClickListener,这里需要借助于UITapGestureRecognizer类。从类名上就可以看出,这个类就是用于处理tap(单击)事件的。
bbc和voaspecial是UIImageView对象
[bbc setUserInteractionEnabled:YES]; [voaspecial setUserInteractionEnabled:YES]; [bbc addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(clickCategory:)]]; [voaspecial 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==bbc) { NSLog(@"bbc"); }else if(viewClicked==voaspecial) { NSLog(@"voaspecial"); } }
时间: 2024-10-27 05:59:38