我希望在一个屏幕中设置自定义视图,并将其放在我的应用程序中的所有视图控制器中。
我使用Container视图找到解决方案。所以我创建RootViewController
并将其赋予容器视图并将原始MainViewController
设置为嵌入容器中。我将视图添加到RootViewController
并在第一个视图控制器(MainViewController
)中看起来不错。
问题是当我通过Push segue转到另一个视图控制器时。新的视图控制器覆盖整个屏幕(这是可以的),也包括自定义视图。我想如果我添加带有根MainViewController
的导航控制器并且这个导航控制器将嵌入RootViewController
中,它会有所帮助,但结果是相同的。我将导航栏设置为隐藏(状态栏相同)因为我想要隐藏。
那么哪里可能有问题?或者如何将自定义视图添加到所有屏幕?这个自定义视图应该作为全局视图(我正在使用NSTimer
并计算时间),所以我的继承解决方案对我来说并非如此。
答案 0 :(得分:1)
您可以使用应用程序窗口,并在需要时将此自定义视图添加为子视图。我在我的一个应用程序中使用它来显示通知(如果有任何区域)并且它工作得很好。
获取应用程序窗口的句柄并为其添加子视图。可以从单个类或App委托创建自定义视图。
答案 1 :(得分:0)
你可以反过来试试。创建一个永远不会在根视图控制器和容器视图中更改的视图,只需根据您想要在不变的视图旁边显示的内容更改容器视图的内容。