我手动更改自定义UINavigationBar
子类中UINavigationController
的高度。出于某种原因,当我添加代码以改变viewDidAppear
函数中的高度时,条形图的高度被正确更改,但是当我尝试将代码放入viewDidLoad
时,没有任何反应。以下是我的表现:
class PetNavigationVC: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(_ animated: Bool) {
let bounds = self.navigationBar.bounds
self.navigationBar.frame = CGRect(x: 0, y: 0, width: bounds.width, height: 74)
}
}
有人能帮我理解为什么会这样吗?
答案 0 :(得分:0)
正如评论中所提到的,在viewDidLoad方法中,甚至没有计算约束,除了你的类值之外什么都没有加载。另外,向viewDidLoad添加代码也有点棘手,因为用户可以看到demant上正在发生的事情:D
您应该在viewWillAppear func或方法DidLayoutSubviews中调整您的框架或任何与UI相关的内容......