【问题标题】:UINavigationBar bar height is not changingUINavigationBar 栏高度没有变化
【发布时间】:2016-12-31 21:27:07
【问题描述】:

我有一个自定义 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)
}
}

但上面的高度代码也不起作用。

【问题讨论】:

标签: swift uinavigationcontroller uinavigationbar


【解决方案1】:

我通过放入 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)
 }
}

【讨论】:

    【解决方案2】:

    由于尺寸检查器,它可能会被覆盖和重绘。在那里提出相同的要求,这样您就可以确保它不会覆盖自定义代码。

    【讨论】:

    • 将所需的高度和宽度也添加到尺寸检查器中
    • 我做了,还是没有结果
    猜你喜欢
    • 1970-01-01
    • 2016-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-23
    • 2013-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多