您的位置:首页 > 其它

子控件不能响应点击事件

2016-03-14 23:42 381 查看
以下是我遇到的问题以及解决方式

自定义一个UIView 在UIView上添加子控件 在将这个View赋值给tableViewHeaderView,发现view上的子控件都没发实现点击事件!

分析如下:

1.如果子控件是UIImageView, 默认是不能实现用户交互的,默认userInteractionEnabled = NO;要将设置为userInteractionEnabled = YES;

再实现相应的点击手势

imgBtn1.userInteractionEnabled = YES;

UITapGestureRecognizer *singleTap1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imgButtonpress1)];

[imgBtn1 addGestureRecognizer:singleTap1];

2.分析子控件是否有有效的事件点击范围!也就是字控件是否有设置好约束(frame),如果子控件的frame超出父控件的frame会导致事件不能正常传递。

我遇到的例子是 是未给父控件设置frame才导致事件不能正常传递。

QCHeaderView *headerView = [[QCHeaderView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height - 64 - 49)];

self.headerView = headerView;

self.tableView.tableHeaderView = headerView;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: