gpt4 book ai didi

ios - 函数内的快速导航栏设置

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

我试图在可重用函数内处理导航,但我无法让它工作,这是我目前的代码。

static func navigationBarShow()  {

let navigationCoontroller = UINavigationController()
navigationCoontroller.navigationBarHidden = false

navigationCoontroller.navigationBar.barTintColor = UIColor(red:0.4, green:0.76, blue:0.93, alpha:1.0)
navigationCoontroller.navigationBar.translucent = false
navigationCoontroller.title = "Signup"

navigationCoontroller.navigationBar.tintColor = UIColor.whiteColor()
navigationCoontroller.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]



}

最佳答案

尝试将其编写为 UINavigationController 的扩展,并使用 self 作为导航 Controller 。每次要显示导航栏时,您都在创建一个新的 UINavigationController 实例,而该实例永远不会显示在屏幕上。

extension UINavigationController {

func showNavigationBar() {

self.navigationBarHidden = false

self.navigationBar.barTintColor = UIColor(red:0.4, green:0.76, blue:0.93, alpha:1.0)
self.navigationBar.translucent = false
self.title = "Signup"

self.navigationBar.tintColor = UIColor.whiteColor()
self.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]


}

}

然后,您可以从任何 UINavigationController 调用 showNavigationBar()

更新:

UINavigationController 中嵌入的 UIViewController 的任何子类的代码中,调用 navigationController!.showNavigationBar()

例如:

class MyViewController: UIViewController {

override func viewDidLoad() {
self.navigationController!.showNavigationBar()
}

}

请注意 ! 假定您的 View Controller 嵌入在导航 Controller 中。如果有一个vc没有嵌入到导航 Controller 中,但你想要一个导航栏,你应该考虑将它嵌入到一个导航 Controller 中。

关于ios - 函数内的快速导航栏设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36993173/

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