【发布时间】:2011-11-23 06:30:26
【问题描述】:
我目前正在父视图中剪辑一些 UIView,如下图所示:
问题在于,子视图的裁剪部分(不可见部分)仍在接收触摸事件,直观地说,这些触摸事件应该转到那里可见的其他视图。
我应该做些什么来实现这种行为,或者这实际上不是一件容易的事?
【问题讨论】:
标签: iphone ios cocoa-touch ipad uikit
我目前正在父视图中剪辑一些 UIView,如下图所示:
问题在于,子视图的裁剪部分(不可见部分)仍在接收触摸事件,直观地说,这些触摸事件应该转到那里可见的其他视图。
我应该做些什么来实现这种行为,或者这实际上不是一件容易的事?
【问题讨论】:
标签: iphone ios cocoa-touch ipad uikit
发生这种情况是因为在这种情况下,父视图具有
的自定义实现- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event,
它没有执行这个边界测试(我现在假设它是默认实现的一部分)。
添加:
if ([self pointInside:point withEvent:event]) {
....
}
围绕该实现中的代码解决了问题。
【讨论】: