【问题标题】:Status bar left white rectangle after rotate in landscape mode在横向模式下旋转后状态栏左侧为白色矩形
【发布时间】:2018-08-02 07:50:46
【问题描述】:

我有带有隐藏导航栏的 UIView 的 VC

self.navigationController?.setNavigationBarHidden(true, animated: animated)

在顶级 VC 中,我的观点受到约束 View.top = SafeArea.Top

在纵向模式下 - 一切正常。但是当旋转到VC左侧的横向模式状态栏时,就像白色矩形一样。

我不需要横向状态栏。如何删除它?为什么状态栏会离开这个矩形?

【问题讨论】:

  • 你也设置了左右约束吗?
  • @Vahid Offcourse!一切都好,有约束。但是我在这个矩形下的一部分视图。
  • 您的图像不清晰。在风景中,我看到了个人资料图片。第一张图在哪里?!请添加全屏图片。
  • @Vahid 在父视图的第一个图像故事板屏幕截图上,其中包含我的视图和个人资料图像。在设备屏幕的第二张图片截图上。但仍然没关系。我发现了问题:自定义视图颜色状态栏。感谢您的帮助!

标签: ios swift statusbar landscape


【解决方案1】:

我已经根据您的方案实现了代码,它对我来说工作正常。我认为这是 xcode/compiler 的问题。你可以这样做:

  1. 将主视图的 clipToBounds 属性设置为 true。
  2. 从情节提要中隐藏导航栏:选择 NavigationController,打开身份检查器,取消选中显示导航栏选项

【讨论】:

    【解决方案2】:

    对不起! 我找到原因了。 这是一个自定义视图,用于为状态栏着色。

    添加此视图的示例。

    let statusBarView = UIView(frame: UIApplication.shared.statusBarFrame)
    let statusBarColor = UIColor(r: 240, g: 243, b: 245)
    statusBarView.backgroundColor = statusBarColor
    view.addSubview(statusBarView)
    

    谢谢大家!

    【讨论】:

      猜你喜欢
      • 2011-04-15
      • 1970-01-01
      • 1970-01-01
      • 2018-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多