【发布时间】:2018-04-02 08:52:50
【问题描述】:
我正在研究与 UINavigationController 默认集成的 UIToolbar 交互的最佳方式。
我只想以编程方式在我的应用底部添加一个静态视图,那时我才意识到 UINavigationController 已经集成了一个 UIToolbar。
注意:所有这些都没有使用 Storyboard 或 Xib 文件。
AppDelegate.swift:
...
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
window = UIWindow(frame: UIScreen.main.bounds)
window?.makeKeyAndVisible()
window?.rootViewController = MyNavigationController(rootViewController: MyTableViewController())
return true
}
...
我展示这段代码是为了让您了解方法到目前为止我一直在遵循......这就是我的测试应用程序现在的样子:
...蓝色部分对应我说的UIToolbar,UINavigationController默认集成的那个。
这个 UIToolbar 可以替换为自定义实现? ...或者也许更好的是通过我的 custom UINavigationController 直接与此 UIToolbar 交互,然后从那里添加我需要的所有子视图?
【问题讨论】:
-
不要入侵
UIToolbar,只需在您的UINavigationController下放置一个静态视图。 -
虽然我不建议使用
UIToolbar作为自定义视图,但您可以使用自己的自定义工具栏子类实例化UINavigationColler。init(navigationBarClass: AnyClass?, toolbarClass: AnyClass?)。但它仍然是一个 hack。
标签: ios swift uinavigationcontroller uitoolbar swift4