【问题标题】:Non-transparent Status Bar without displaying navigation bar不显示导航栏的非透明状态栏
【发布时间】:2018-07-11 07:45:32
【问题描述】:

我正在尝试隐藏导航栏并设置不透明的状态栏。但是,不知何故,我限制了 不要为状态栏背景创建 UIView

问题是在我将导航栏设置为隐藏后状态栏变得透明并且它与tableview滚动重叠。

-(void)viewWillAppear:(BOOL)animated
{
    [self.tableView reloadData];
    [[self navigationController] setNavigationBarHidden:YES animated:NO];
}

我想知道如何使状态栏不透明,而不为仅单个 UIViewController 的背景创建 UIView(不适用于所有控制器,因为我希望它在某些情况下是透明的)。

【问题讨论】:

    标签: ios objective-c xcode uinavigationbar


    【解决方案1】:

    你不能,状态栏本身总是透明的。 HIG 中与您相关的备选方案:

    • 在状态栏后面显示自定义图像,例如渐变色或纯色。
    • 在状态栏后面放置一个模糊视图。如需开发者指南,请参阅 UIBlurEffect。

    您提到了表格视图滚动。可能是您有 UITableViewController,这意味着您无法将子视图添加到 viewController.view。您可以创建自定义容器视图控制器,在状态栏下添加视图,请参阅UIViewController documentation 中的实现容器视图控制器部分。然后,您将您的视图控制器嵌套在此容器中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-27
      • 2017-07-16
      • 1970-01-01
      • 2017-08-28
      相关资源
      最近更新 更多