dre*_*934 4 uinavigationbar uinavigationcontroller ios swift rootviewcontroller
我在尝试同时设置 aUINavigationController的rootViewUIViewController时遇到了困境UINavigationBar。似乎 aUINavigationController可以用 a 启动,rootViewController如下所示:
let navController = UINavigationController(rootViewController: someViewController)
Run Code Online (Sandbox Code Playgroud)
或者使用 UINavigatioBar,如下所示:
let navController = UINavigationController(navigationBarClass: someUINavigationBar, toolbarClass: nil)
Run Code Online (Sandbox Code Playgroud)
但是,我希望能够添加一个 rootViewController 以及一个自定义的UINavigationBar. 有什么办法吗?
我已经尝试过设置UINavigationBar类似的设置navController.navigationController?.navigationBar = MyNavigationBar
,但似乎 navigationController?.navigationBar 只是一个 getter。
这rootViewController只是要显示的第一个视图控制器。虽然它似乎无法从任何地方访问,但您可以将viewControllersstack 属性设置为一个视图控制器,即您的根。
这是一个带有便利初始化程序的扩展。
extension UINavigationController {
convenience init(navigationBarClass: Swift.AnyClass?, toolbarClass: Swift.AnyClass?, rootViewController: UIViewController) {
self.init(navigationBarClass: navigationBarClass, toolbarClass: toolbarClass)
self.viewControllers = [rootViewController]
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2476 次 |
| 最近记录: |