2015-05-28 34 views
1

我想在一个屏幕中设置自定义视图,并将其在我的应用程序中的所有视图控制器中。跨所有视图控制器的iOS自定义视图

我找到使用Container视图的解决方案。所以我创建了RootViewController,我给它容器视图并将其原始MainViewController设置为嵌入到容器中。我将视图添加到RootViewController和第一视图控制器(MainViewController)看起来不错。

问题是当我通过Push segue转到另一个视图控制器时。新的视图控制器覆盖整个屏幕(这是可以的),并涵盖自定义视图。我在想,如果我添加导航控制器的根目录MainViewController,并且此导航控制器将嵌入RootViewController,但结果相同,这可能会有所帮助。我将导航栏设置为隐藏(状态栏相同),因为我想隐藏。

那么可能会出现问题?或者如何将自定义视图添加到所有屏幕?这个自定义视图应该像全局一样工作(我正在使用NSTimer并计算时间),所以我继承的解决方案不适合我。

+0

您可以为您的计时器(和\或甚至您的视图)创建一个单例,并使用一些基本视图控制器,您可以在其中以编程方式添加此视图。或者你可以在'appDelegate'中添加强大的属性 –

回答

1

您可以使用应用程序窗口并在需要时将此自定义视图添加为子视图。我在我的一个应用程序中使用它来显示通知(如果有的话),它的效果很好。

获取应用程序窗口的句柄并添加子视图到它。自定义视图可以从单例类或应用程序委托创建。

0

你可以试试它。在你的根视图控制器和容器视图内创建一个永远不会改变的视图,并根据你想要在不变视图旁边显示的内容来更改容器视图的内容。