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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值