您的位置:首页 > 产品设计 > UI/UE

iOS开发-UIImageView响应点击事件

2015-09-07 15:49 585 查看
UIImageView是不能够响应点击事件的,在开发过程中我们需要经常对头像等添加点击事件,上网搜索一番后发现有如下两个方法:

1.找到点击图片Event,添加事件处理函数

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手势

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上添加点击事件处理函数

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: