UIImageView上添加UIButton,button接收不到点击事件问题

原程序是这样写的:

  //UIImageView 
    _Tom               = [[UIImageView alloc] init];
    _Tom.frame         = [UIScreen mainScreen].bounds;
    _Tom.image         = [UIImage imageNamed:@"angry_00.jpg"];    
    [self.view addSubview:_Tom];

    //UIButton
    UIButton *nockHead = [[UIButton alloc] init];
    nockHead.frame     = CGRectMake(10, 300, 60, 60);
    [nockHead setImage:[UIImage imageNamed:@"drink"]
              forState:UIControlStateNormal];
    [nockHead addTarget:self
                 action:@selector(test)
       forControlEvents:UIControlEventTouchUpInside];
    
    [_Tom addSubview:nockHead];
    

 运行后发现点击按钮没有任何反应,网上搜资料后得知UIImageView默认是不接受任何事件的,button加到imageView后,也接收不到事件,解决办法有两种:

1、设置UIimageView的 setUserInteractionEnabled 属性为YES;

2、UIImageView和UIbutton都作为view的子视图,然后设置imageview在button的后边显示;

     [nockHead sendSubviewToBack:_Tom];

    

第二种方法没有第一种方法方便,如果要添加多个按钮,每个按钮都需要设置显示在imageview前面,所有推荐第一种方法。

转载于:https://my.oschina.net/mexiaobai1315/blog/674020

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值