我想在一个屏幕中设置自定义 View ,并在我的应用程序中的所有 View Controller 中使用它。
我找到了使用容器 View 的解决方案。所以我创建了 RootViewController
并给它容器 View 并将我原来的 MainViewController
设置为嵌入到容器中。我向 RootViewController
添加了 View ,在第一个 View Controller (MainViewController
) 中它看起来不错。
问题是当我通过 Push segue 转到另一个 View Controller 时。新的 View Controller 覆盖了整个屏幕(这没问题)并且也覆盖了自定义 View 。我在想,如果我添加具有根 MainViewController
的导航 Controller ,并且该导航 Controller 将嵌入到 RootViewController
中,但结果是一样的,这可能会有所帮助。我将导航栏设置为隐藏(与状态栏相同),因为我想隐藏。
那么问题出在哪里呢?或者您将如何向所有屏幕添加自定义 View ?这个自定义 View 应该作为全局工作(我正在使用 NSTimer
并计算时间)所以我的继承解决方案不适合我。
最佳答案
您可以使用应用程序窗口并在需要时将此自定义 View 添加为 subview 。我已经在我的一个应用程序中使用它来显示通知(如果有的话)并且效果很好。
获取应用程序窗口的句柄并向其添加 subview 。可以从单例类或应用程序委托(delegate)创建自定义 View 。
关于跨所有 View Controller 的 iOS 自定义 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30516436/