Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 是否在ViewDidLoad()中以编程方式更改导航栏高度?_Swift_Uinavigationcontroller_Uinavigationbar - Fatal编程技术网

Swift 是否在ViewDidLoad()中以编程方式更改导航栏高度?

Swift 是否在ViewDidLoad()中以编程方式更改导航栏高度?,swift,uinavigationcontroller,uinavigationbar,Swift,Uinavigationcontroller,Uinavigationbar,您好,我已尝试按程序更改UINavigationBar高度,但在viewDidLoad中未更改。但它的工作方式是viewDidAppear(),但一旦我在后台完成应用程序,如果打开应用程序,它就不会改变默认高度。请任何人帮助。提前谢谢 let bounds = self.navigationController!.navigationBar.bounds self.navigationController!.navigationBar.frame = CGRect(x: 0, y: 0

您好,我已尝试按程序更改
UINavigationBar
高度,但在
viewDidLoad
中未更改。但它的工作方式是
viewDidAppear()
,但一旦我在后台完成应用程序,如果打开应用程序,它就不会改变默认高度。请任何人帮助。提前谢谢

  let bounds = self.navigationController!.navigationBar.bounds
   self.navigationController!.navigationBar.frame = CGRect(x: 0, y: 0, width: bounds.width, height: 66)

使用
viewcontroller添加
UINavigationBar
扩展名

extension UINavigationBar {
    override open func sizeThatFits(_ size: CGSize) -> CGSize {
        return CGSize(width: UIScreen.main.bounds.size.width, height: 80.0)
    }
}

请张贴您正在使用的代码是的,它正在工作。但还是在打开它之后它变了。你是什么意思?请详细说明。打开backgrond应用程序几秒钟后才更改。它得到了几秒钟的延迟。@vara只在
UINavigationController
中使用代码,请参见编辑的答案,但我需要在UIViewcontroller本身中使用代码。请问怎么走@杰克