【问题标题】:After NavigationBarHidden,StatusBar so badNavigationBarHidden 之后,StatusBar 太糟糕了
【发布时间】:2024-01-17 12:01:01
【问题描述】:

如果我设置NavigationBarHidden = YES,我无法设置 statusBackgroundcolor。 那么我该如何解决这个问题呢? enter image description here

【问题讨论】:

  • 通过适当的布局,这个问题可能会解决

标签: ios objective-c uinavigationcontroller uinavigationbar uistatusbar


【解决方案1】:

您可以获取大小为(self.view.frame.size.width,20) 的自定义视图,并且可以放置在状态栏上。即在(0,0)原点。然后根据您想要的状态栏背景颜色设置该视图的背景颜色。如果您使用自动布局,请为该视图设置适当的约束。如果您使用自动布局,则此自定义视图的约束应为 (top,leading,trailing and fixed height)

【讨论】:

  • 但是该类是 UITableViewController 的子类。所以如果我在视图顶部放置一个自定义视图。当我滚动拖动屏幕时自定义视图会移动。
  • 然后将背景颜色(您希望作为状态栏背景颜色)设置为表格视图,使其显示在状态栏下方并设置您想要的单元格背景颜色
  • 但是StatusBar还是透明的。我只是希望它不透明。
  • 表示你想隐藏它吗?
  • 不,我只是希望 StatusBar 不隐藏。但也不透明。现在 StatusBar 不是隐藏,而是透明。