本文主要是介绍iOS开发-UIImageView响应点击事件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
UIImageView是不能够响应点击事件的,在开发过程中我们需要经常对头像等添加点击事件,上网搜索一番后发现有如下两个方法:
1.找到点击图片Event,添加事件处理函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | UIImageView.userInteractionEnabled = YES ; - ( void )touchesBegan:( NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch = [[event allTouches] anyObject]; if ([touch view] != UIImageView) { //do some method..... } } |
2.为UIImageView添加Tap手势
1 2 3 4 5 6 7 8 9 | UIImageView.userInteractionEnabled = YES ; UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget: self action: @selector (handleSingleTap:)]; [UIImageView addGestureRecognizer:singleTap]; - ( void )handleSingleTap:(UIGestureRecognizer *)gestureRecognizer { //do something.... } |
3.在UIImageView外层套一个UIView,在外层UIView上添加点击事件处理函数
1 2 3 4 5 6 7 | UIView*view = [[UIControl alloc] initWithFrame:CGRectMake(50,200,150,150)] ; view.backgroundColor = [UIColor clearColor]; [(UIControl *)view addTarget: self action: @selector (xxx) forControlEvents:UIControlEventTouchUpInside]; UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@ "a.gif" ]]; imageView.frame = CGRectMake(0, 0, view.bounds.size.width, view.bounds.size.height); [view addSubview:imageView]; [ self .view addSubview:view]; |
ref:http://blog.csdn.net/iorchid/article/details/6398102#
http://www.cocoachina.com/bbs/read.php?tid-66270-page-1.html
这篇关于iOS开发-UIImageView响应点击事件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!