我正在尝试实现与iPhone X的``今天''选项卡中新的App Store状态栏相似的东西。
App Store - Today
所以只是想知道什么是实现。我试图更改导航栏的高度/将半透明的UIView覆盖在状态栏上,但是鉴于该栏仅存在于iPhone X上,所以似乎并不令人满意。谢谢。
最佳答案
为导航栏创建类
class NavigationBar: UINavigationBar {
override func layoutSubviews() {
super.layoutSubviews()
for subview in self.subviews {
let stringFromClass = NSStringFromClass(subview.classForCoder)
if stringFromClass.contains("BarBackground") {
subview.frame.origin.y = -20
subview.frame.size.height = 64
}
}
}
}
并创建所需大小的导航栏
let navigationBar = NavigationBar(frame: CGRect(origin: CGPoint(x: 0,
y: 20),
size: CGSize(width: view.frame.width,
height: 30)))
navigationBar.isTranslucent = false
self.view .addSubview(navigationBar)
关于swift - 无法在iOS 11中更改UINavigationBar的高度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47645826/