我有几个单元格包含此结构中的 View :
- 主视图
- 回顾
- 前 View
单元格部分重叠。这意味着单元格 A 的主视图将部分覆盖单元格 B 的前 View 。像这样:
- B主视图
- B 回顾
- B 前 View
- 主视图
- 回顾
- 正 View
我想拦截前 View 和后 View 的触摸,但我希望主视图忽略它们。
(我试过在主视图上禁用用户交互,但这也会禁用前 View 和后 View )。
有什么建议吗?
最佳答案
我在这里找到了答案:http://vectorvector.tumblr.com/post/2130331861/ignore-touches-to-uiview-subclass-but-not-to-its
基本上,我将主视图设为 UIView 的子类,并用它覆盖 hitTest:
-(id)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
id hitView = [super hitTest:point withEvent:event];
if (hitView == self) return nil;
else return hitView;
}
(请注意,对于有问题的 UIView,您必须将 UserInteractionEnabled 设置为 true,勾选,是!)
关于ios - UIView:让 subview 接收触摸,而不是主视图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6940825/