如何调整swift 5中导航栏的位置?
how to adjust the position of the UINavigationBar in swift5?
我想重新定位 UINavigationBar。所以我用代码给了一个新的值,但是没有改变。
@IBOutlet var headerBar: UINavigationBar!
let screenHeight = UIScreen.main.bounds.size.height
override func viewDidLoad() {
super.viewDidLoad()
if screenHeight > 667 {
headerBar = UINavigationBar(frame: CGRect(x: 0, y: 54, width: headerBar.frame.width, height: headerBar.frame.height))
} else {
headerBar = UINavigationBar(frame: CGRect(x: 0, y: 40, width: headerBar.frame.width, height: headerBar.frame.height))
}
}
我该如何解决这个问题?
我在主线程上运行但是没有变化。
@IBOutlet var headerBar: UINavigationBar!
let screenHeight = UIScreen.main.bounds.size.height
override func viewDidLoad() {
super.viewDidLoad()
DispatchQueue.main.async {
if self.screenHeight > 667 {
self.headerBar = UINavigationBar(frame: CGRect(x: 0, y: 54, width: self.headerBar.frame.width, height: self.headerBar.frame.height))
} else {
self.headerBar = UINavigationBar(frame: CGRect(x: 0, y: 40, width: self.headerBar.frame.width, height: self.headerBar.frame.height))
}
}
}
从主情节提要看的标题栏区域
注意:此 header 栏被图片中的导航控制器栏遮挡了。但是我在代码中隐藏了导航控制器栏。
试试这个
override func viewDidLoad() {
super.viewDidLoad()
DispatchQueue.main.async {
let screenHeight = UIScreen.main.bounds.size.height
let bounds = self.headerBar.bounds
self.headerBar.frame = CGRect(x: 0, y: self.screenHeight > 667 ? 54 : 40, width:bounds.width, height: bounds.height )
}
}
我想重新定位 UINavigationBar。所以我用代码给了一个新的值,但是没有改变。
@IBOutlet var headerBar: UINavigationBar!
let screenHeight = UIScreen.main.bounds.size.height
override func viewDidLoad() {
super.viewDidLoad()
if screenHeight > 667 {
headerBar = UINavigationBar(frame: CGRect(x: 0, y: 54, width: headerBar.frame.width, height: headerBar.frame.height))
} else {
headerBar = UINavigationBar(frame: CGRect(x: 0, y: 40, width: headerBar.frame.width, height: headerBar.frame.height))
}
}
我该如何解决这个问题?
我在主线程上运行但是没有变化。
@IBOutlet var headerBar: UINavigationBar!
let screenHeight = UIScreen.main.bounds.size.height
override func viewDidLoad() {
super.viewDidLoad()
DispatchQueue.main.async {
if self.screenHeight > 667 {
self.headerBar = UINavigationBar(frame: CGRect(x: 0, y: 54, width: self.headerBar.frame.width, height: self.headerBar.frame.height))
} else {
self.headerBar = UINavigationBar(frame: CGRect(x: 0, y: 40, width: self.headerBar.frame.width, height: self.headerBar.frame.height))
}
}
}
从主情节提要看的标题栏区域
注意:此 header 栏被图片中的导航控制器栏遮挡了。但是我在代码中隐藏了导航控制器栏。
试试这个
override func viewDidLoad() {
super.viewDidLoad()
DispatchQueue.main.async {
let screenHeight = UIScreen.main.bounds.size.height
let bounds = self.headerBar.bounds
self.headerBar.frame = CGRect(x: 0, y: self.screenHeight > 667 ? 54 : 40, width:bounds.width, height: bounds.height )
}
}