我有一个简单的应用程序,当用户在主视图中点击UIButton时,在主视图上方添加一个子视图。这个子视图的大小为480x320(我处于横向模式),但是这个子视图中心图像周围有一个透明的边框。
这就是我的问题所在。我希望只有子视图在从父视图中移除之前才处理触摸事件,但如果在透明边框上发生了触摸事件,则事件会被传递到父视图,并忽略子视图,即使子视图是窗口的全尺寸。
通过一些研究,似乎这正是苹果公司希望发生的,因为即使子视图是窗口的全尺寸,触摸事件也只会传递到不透明的部分。它在参考文献中有解释:
我希望能够设置触摸事件始终停留在子视图中,无论透明度如何。hitTest:withEvent:方法似乎可以做到这样的事情,但更多是将触摸事件传递给不同的子视图而不是被触摸的那个子视图。有没有人有解决方案/变通方法可以实现这一点?
UIButton
的exclusiveTouch
属性设置为YES
。 - msgambel