【发布时间】:2019-05-18 05:01:30
【问题描述】:
我有一个基于UIViewController 的自定义Side Menu 类。 Side menu 的呈现如下:
extension UIViewController: MenuPresentableProtocol {
func setupMenu() {
guard let menu = AppDelegate.shared.menu else { return }
menu.view.frame = view.bounds
view.addSubview(menu.view)
menu.view.frame.origin.x = -UIScreen.main.bounds.width
}
}
这意味着status bar 的appearance 取决于当前的ViewControllers prefersStatusBarHidden 属性,在本例中为false。
但我需要将status bar 的一部分隐藏在side menu 下。有没有办法实现这个?
这是我所拥有的:
菜单隐藏时,看起来不错。
但是当菜单出现时,...
附:我尝试使用this answer,但没有帮助。
【问题讨论】:
-
我认为最好 1) 在状态栏 下方 绘制菜单,或者 2) 在菜单打开时隐藏状态栏。 #1 更好,如果只是因为 #2 会导致屏幕在菜单出现和消失时上下跳跃 20 像素。
-
@NRitH, #2 - 糟糕的实现,我同意。我不想这样做。 #1 - 与我的实现没有区别,但状态栏是可见的,这让客户感到困惑。
-
如果您不向用户提供全屏体验(即查看照片/视频等全屏媒体),不建议隐藏状态栏(或部分状态栏)。您可能想看看来自 Apple 的 Status Bar HIG。
-
我知道,但我需要它。
标签: ios swift uinavigationbar statusbar side-menu