我有一个由 6 个 UIView 组成的旋转轮播菜单,这些 UIView 作为 subview 添加到 self.view。当您旋转轮播时,一些 subview 部分位于离用户最近的 subview 后面,但问题是离用户最近的 subview 可能没有添加到它后面的 subview 之后,所以当我触摸它时,它后面的那个被触发.
我的问题是,有没有一种方法可以在触摸 subview 时以编程方式使用 bringToFront,这样无论它是先添加还是最后添加到 View 都无关紧要。
最佳答案
当您有 2 个 View 响应触摸事件并且一个在另一个前面时,另一个将永远不会接收到触摸。 与其搞乱事件链(也就是子类化 UIView 和重写 hitTest……),我建议您在旋转轮播时重新排序 View 。
出现在前面的 View 应该是 View 层次结构中最顶层的 View 。
关于ios - 触摸 subview 时如何将其置于最前面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9280231/