跨所有 View Controller 的 iOS 自定义 View

标签 ios objective-c swift uinavigationcontroller storyboard

我想在一个屏幕中设置自定义 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/

相关文章:

ios - 建立 Sinch 应用程序到应用程序调用的接收者 'userId' 应该是什么?

javascript - 如何将 JSON 从 Web 服务发送到 iOS 项目中的 javascript?

ios - Swift 3.0 无法将 (_, _)->() 类型的值转换为预期参数类型 'ObjectsOrErrorBlock'

ios - UIImagePickercontroller 不使用按钮不保存

ios - 如何删除数组中的一个重复值?

ios - 当元素被激活时如何获取indexpath.row?

iphone - 如何显示登录和关闭设置 - Storyboard

objective-c - UISearchController 搜索栏位置下降 64 点

ios - Swift 解析不更新核心数据

swift - 您将在 Swift for XML 中的何处包含替换事件?