是否可以更改状态栏高度/y 位置?
Is it possible to change status bar height / y position?
我见过一个应用程序,他们可以根据滚动位置动态调整状态栏 height/y-position。
这是一个 gif 示例:https://gyazo.com/ec8e3fa336098305e6a5aedc68118789
这是我得到的
override var prefersStatusBarHidden: Bool {
return isStatusBarHidden
}
override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation {
if !isStatusBarHidden {
return UIStatusBarAnimation.fade
} else {
return UIStatusBarAnimation.slide
}
}
func changeStatusBarStatus(status: Bool) {
isStatusBarHidden = status
UIView.animate(withDuration: 0.3, delay: 0, options: [.allowUserInteraction], animations: {
self.setNeedsStatusBarAppearanceUpdate()
})
}
创建自定义 StatusBar
首先通过在 info.plist
中的 Status bar is initially hidden
中添加 YES/TRUE 来隐藏整个应用程序的默认值 statusBar
这将从应用中隐藏 StatusBar
,除非您以编程方式添加并重新显示它。
然后在你的ViewController
中添加一个UIView
并给它TOP,LEFT&RIGHTconstraint
(0,0,0)参考View
(不参考 Safe Area
)
Then Give it DOWN or BOTTOM constraint
0 参考你的主要工作 UIView
看,我已经在我的应用程序中创建了一个底部视图(您只需在创建 StatusBar
时反转此 constraint
)
(注意:如果看不到UIView
那么用View As iPhone 10 or 11 Series可以清楚的区分出来来自你的另一个 UIView
)
我见过一个应用程序,他们可以根据滚动位置动态调整状态栏 height/y-position。
这是一个 gif 示例:https://gyazo.com/ec8e3fa336098305e6a5aedc68118789
这是我得到的
override var prefersStatusBarHidden: Bool {
return isStatusBarHidden
}
override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation {
if !isStatusBarHidden {
return UIStatusBarAnimation.fade
} else {
return UIStatusBarAnimation.slide
}
}
func changeStatusBarStatus(status: Bool) {
isStatusBarHidden = status
UIView.animate(withDuration: 0.3, delay: 0, options: [.allowUserInteraction], animations: {
self.setNeedsStatusBarAppearanceUpdate()
})
}
创建自定义 StatusBar
首先通过在
中的info.plist
Status bar is initially hidden
中添加 YES/TRUE 来隐藏整个应用程序的默认值statusBar
这将从应用中隐藏
StatusBar
,除非您以编程方式添加并重新显示它。然后在你的
ViewController
中添加一个UIView
并给它TOP,LEFT&RIGHTconstraint
(0,0,0)参考View
(不参考Safe Area
)Then Give it DOWN or BOTTOM
constraint
0 参考你的主要工作UIView
看,我已经在我的应用程序中创建了一个底部视图(您只需在创建 StatusBar
时反转此 constraint
)
(注意:如果看不到UIView
那么用View As iPhone 10 or 11 Series可以清楚的区分出来来自你的另一个 UIView
)