gpt4 book ai didi

ios - 在 UINavigationController 子类中设置 UINavigationBar 子类

转载 作者:行者123 更新时间:2023-11-29 11:50:12 24 4
gpt4 key购买 nike

我有一个 UINavigationBar 的子类,我想创建一个使用此 UINavigationBar 子类的 UINavigationController 的子类。我知道如何设置默认的 UINavigationController 以使用自定义导航栏

让 navController = UINavigationController(navigationBarClass: CustomNavigationBar.self, toolbarClass: nil)

但是我希望能够创建一个自定义 UINavigationController(以编程方式),它已经将我的自定义导航栏设置为其导航栏类。我已经在这个链接上看到了如何做到这一点,但它似乎有点过时(2012 年)和“hacky AF”- https://stackoverflow.com/a/9610801/2654425 .我知道如何通过设置 UINavigationController 的导航栏类在“Storyboard”中执行此操作,但我希望在我的自定义 UINavigation Controller 中以编程方式完成此操作。

这是一个基本的 UINavigationBarUINavigationController 子类:

class CustomNavigationBar: UINavigationBar {

override init(frame: CGRect) {
super.init(frame: frame)

}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)!


}

override func draw(_ rect: CGRect) {
self.backgroundColor = UIColor.red
}


}

class CustomNavigationController: UINavigationController {

override func viewDidLoad() {
super.viewDidLoad()

// Do any additional setup after loading the view.

}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}


}

我不确定在哪里设置自定义导航栏。任何帮助是极大的赞赏。 :)

最佳答案

您应该在实例化 UINavigationController 子类时进行设置。具体来说,UINavigationController.init(navigationBarClass: AnyClass?, toolbarClass: AnyClass?)。参见 UINavigationController在 Apple 的文档中。

关于ios - 在 UINavigationController 子类中设置 UINavigationBar 子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41452118/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com