Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
基本上,我希望能够单击下图中的所有子视图...
我希望能够点击视图 B 的子视图,但即使视图 A 子视图没有阻止下面的视图,视图 A 也会挡道。这可能吗?换句话说,我希望能够点击视图的透明部分,即使它的框架/边界覆盖了该区域。视图 B 在 ScrollView 中的视图 A 下。
谢谢,奥斯汀
解决方案是将 View A 子类化(如果它还不是自定义视图)并覆盖pointInside:withEvent.
pointInside:withEvent
YES如果指定点在视图 A 的子视图之一内,则返回,NO否则返回。pointInside:withEvent返回时,NO系统将继续尝试其他视图,直到找到声称该点位于其中的视图,然后它将调用hitTest:withEvent以查看将触摸发送到哪个内部视图(默认行为)。
YES
NO
hitTest:withEvent