以下是我遇到的问题以及解决方式
自定义一个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;
子控件不能响应点击事件
最新推荐文章于 2021-07-16 15:14:21 发布