ios - 创建保持在顶部的叠加 View 的好方法是什么?

标签 ios cocoa-touch uiviewcontroller

我想创建一个小的叠加 View ,它会 float 在所有其他 View 之上。我需要 View 接受触摸,并且即使在底层 View 之间的转换期间我也需要它保持原位。到目前为止我尝试了什么:

  1. 独立 View 插入键 UIWindow。明显的缺点是 View 没有附加到任何 View Controller ,这意味着手动处理(至少?)旋转事件。

  2. UIViewController 包含,有一个包含 float View 的“根” View Controller ,所有导航都在它下面完成。这是一个非常“一等公民”的解决方案,但呈现模态视图 Controller 与 float View 重叠。

  3. 第二个 UIWindow 具有包含 float View 的 Root View Controller 。这违背了 Apple 的建议,我在过滤哪些事件应该进入哪个窗口时遇到了一些问题。

有没有人有不需要太多脆弱黑客攻击的可行解决方案?

最佳答案

最后,我听从了 Jonathan 的建议,将叠加层实现为插入到关键窗口中的单独 View 。 View 有一个关联的 Controller 对象(NSObject 的子类,而不是 UIViewController),这个 Controller 负责旋转逻辑。这样,实现实际覆盖对象的 View 根本不需要关心旋转事件。

关于ios - 创建保持在顶部的叠加 View 的好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14579691/

相关文章:

objective-c - 强制 Controller 更改纵向或横向方向

ios - 如何更改 Collection View 单元格大小并添加填充?

ios - UINavigationController 有两个代表?

iphone - 覆盖 UIButton View 的背面

ios - 按秒滚动到顶部到栏项目

ios - 图像在 ios 模拟器中看起来与在照片预览中不同

iphone - iOS 6 应该自动旋转 : is NOT being called

ios - iOS场景中如何将多个节点加入一个节点

ios - 过渡到新的加密算法

ios - (Swift) ViewController 的 UI 元素无法通过实现的委托(delegate)方法进行编辑