我有一个自定义的 UINavigationController,我只需调整高度大小,但没有得到结果:
实际上我的主要代码是这样的:(这将根据你的设备尺寸获得完美的高度)
class NavigationController1: UINavigationController {
let Theframe = UIScreen.main.bounds
override func awakeFromNib() {
self.navigationBar.frame = CGRect.init(x: self.navigationBar.frame.origin.x*Theframe.width/375, y: self.navigationBar.frame.origin.y*Theframe.height/667, width:self.navigationBar.frame.width*Theframe.width/375, height: self.navigationBar.frame.height*Theframe.height/667)
}
}
但是上面的高度代码也不起作用。
最佳答案
我通过放入 viewWillLayoutSubviews() 解决了这个问题 最终代码:
import UIKit
class NavigationController1: UINavigationController {
let Theframe = UIScreen.main.bounds
override func viewWillLayoutSubviews() {
self.navigationBar.frame = CGRect.init(x: self.navigationBar.frame.origin.x, y: self.navigationBar.frame.origin.y, width:self.navigationBar.frame.width, height: 200)
}
}
关于swift - UINavigationBar 栏高度没有改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41411824/