ios - 触摸 subview 时如何将其置于最前面?

标签 ios uiview

我有一个由 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/

相关文章:

ios - Objective c 键盘不情愿地打开

ios - UIImageView 框架没有按预期进行动画处理(大小和原点)

ios - UIPageViewController 的 subview 没有动画 subview ? swift 4

ios - 识别用于保存信息的 UIView

ios - 为什么在UTC时区中比较两个NSDate总是失败?

ios - 尽管使用 dequeueReusableCell,如何仅隐藏特定单元格上的内容?

ios - 使用 Firebase push() 创建列表

ios - Objective-C中Android的 "Spannable"相当于什么

ios - 随时恢复 UILocalNotification 或远程推送通知

ios - XCode 7 - 在 Storyboard 中查看错误放置的 View 警告