我的观点结构:
UITableView
UITableViewCell
UIScrollView
CustomView
UIButton
问题是当我触摸 UIButton 时它不起作用。
我用代码创建它:
btn = [[UIButton alloc] init];
[btn setImage:image forState:UIControlStateNormal];
[btn addTarget:self action:@selector(tileTouchUpInside) forControlEvents:UIControlEventTouchUpInside];
btn.layer.zPosition = 1;
[self addSubview:btn];
我还添加了这个:
scroll.delaysContentTouches = NO;
scroll.canCancelContentTouches = NO;
但我的按钮无论如何都不起作用。我无法取消ContentTouches 或为UITableView 设置延迟,因为如果我设置它,UITableView 将停止垂直滚动。
谢谢你的帮助!
创建 UIScrollview 的子类
- (BOOL)touchesShouldCancelInContentView:(UIView *)view {
return NO;
}
如果您没有收到该消息,请设置:
scrollView.delaysContentTouches = NO;
问题是因为方式touchesShouldCancelInContentView
默认情况下,仅当子视图是 UIControl 时才返回 NO,但您的按钮隐藏在 CustomView 中,但事实并非如此。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)