UINavigationBar
打电话时我一直在努力避免移动/调整大小setNeedsStatusBarAppearanceUpdate
。
当状态栏隐藏动画时,我想将导航栏保持在完整的 64px 高度。
任何帮助,将不胜感激!
更新:我能够通过创建一个新的UIWindow
并覆盖状态栏来克服这个问题。
UINavigationBar
打电话时我一直在努力避免移动/调整大小setNeedsStatusBarAppearanceUpdate
。
当状态栏隐藏动画时,我想将导航栏保持在完整的 64px 高度。
任何帮助,将不胜感激!
更新:我能够通过创建一个新的UIWindow
并覆盖状态栏来克服这个问题。
我有同样的问题,并且可以修复它,将 windowLevel 更改为 UIWindowLevelStatusBar
你可以这样做
在多次尝试修复在显示状态栏而另一个不显示状态栏的视图控制器之间切换时出现的卡顿问题,我刚刚实施了这个解决方案。这是我找到的最好的解决方案。
我做了 1. 在 UINavigationController 的子类中。我认为这是您在浏览导航控制器子视图控制器时保持一致的最佳选择。我没有测试其他选项(直接放在子 VC 中)。
为什么这行得通,为什么这是最好的方法:
导航栏实际上总是 44 点高(正如评论者已经提到的那样),但 20 点的状态栏将其向下推。将相同数量 (20) 的整个视图向下推,确保最一致的行为。每当您尝试直接操作 UINavigationBar 时,iOS 都会竭尽全力扭转这种变化。