iOS开发-关于在点击图片发生触发事件的几种方法

本文介绍了三种在UIImageView上实现点击事件的方法:通过添加事件处理函数捕捉点击图片的Event,使用Tap手势识别器,以及在外层套用UIView并在此UIView上添加点击事件处理函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值