3

我想创建一个小的覆盖视图,它会浮在所有其他视图之上。我需要视图来接受触摸,即使在底层视图之间的转换期间,我也需要它保持原位。到目前为止我已经尝试过:

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

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

  3. 其次UIWindow是包含浮动视图的根视图控制器。这违背了 Apple 的建议,我在过滤哪些事件应该转到哪个窗口时遇到了一些麻烦。

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

4

1 回答 1

0

最后,我遵循了乔纳森的建议,并将叠加层实现为插入到关键窗口中的单独视图。视图有一个关联的控制器对象(一个子类NSObject,不是UIViewController),这个控制器负责旋转逻辑。这样,实现实际覆盖对象的视图根本不需要关心旋转事件。

于 2013-01-31T13:33:55.683 回答