iphone - 如何防止 subview 的剪辑部分仍然发生触摸事件?

标签 iphone ios cocoa-touch ipad uikit

我目前正在父 View 中剪辑一些 UIView,如下图所示:

illustration of subviews clipped to a superview

问题是 subview 的剪辑部分(不可见部分)仍在接收触摸事件,直观地说,这些事件应该转到那里可见的其他 View 。

我应该做些什么来实现这种行为,或者这实际上不是一件容易的事情?

最佳答案

发生这种情况是因为在这种情况下,父 View 有一个自定义实现
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event ,

并且它没有执行这个边界测试(我现在假设它是默认实现的一部分)。

添加:

if ([self pointInside:point withEvent:event]) {
    ....
}

围绕该实现中的代码解决了这个问题。

关于iphone - 如何防止 subview 的剪辑部分仍然发生触摸事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7522631/

相关文章:

ios - 尝试将 CIImage 与从视频文件帧获得的纹理一起使用时,CIImage 为空白

iPhone Excel 生成

iphone - 作为一名 iPhone 应用程序开发人员,我必须学习哪些基本且重要的知识?

ios - 如何在任务切换器中显示锁定屏幕并正确恢复

iPhone SDK : How to remove the horizontal markers from Core-Plot?

ios - 根据自定义单元格增加主tableview行高

ios - 固定背景图像 PhoneGap/类固醇?

css - iOS 上 chrome 的奇怪按钮样式

iphone - UIToolbar 项目消失 - ios6 中的奇怪错误

ios - MPMoviePlayerController.view 未从 super View 中删除