【问题标题】:Status Bar in UITableViewControllerUITableViewController 中的状态栏
【发布时间】:2014-03-21 08:57:31
【问题描述】:

我使用UITableViewControllerNavigation Controller,当按下UIButton 时出现。当按下按钮时,TableViewController 出现时没有状态栏。如果我选择 TableViewController 的一个单元格,然后 getBack 状态栏会正确显示。我不知道发生这种情况的原因。我希望每次都出现状态栏。我试图从 StoryBoard 设置状态栏,但它不起作用。我还从这里以编程方式尝试了很多解决方案。

这是 Storyboard 的一部分,显示 TableViewController 和已选择的选项。

这是错误的结果:

如果我选择一个单元格并返回TableViewController,我会得到以下结果:

我希望每次都有第三张照片的结果。

附:在我的 .plist 文件中,我将基于控制器的状态栏外观设置为 YES。

我已添加到我的viewDidLoad 此行:

    [self setNeedsStatusBarAppearanceUpdate];

下面viewDidLoad这个方法:

-(UIStatusBarStyle)preferredStatusBarStyle{
    return UIStatusBarStyleLightContent;
}

而且它只显示电池寿命。

【问题讨论】:

  • 你检查 viewDidLoad 和 ViewWillAppear 方法吗?可能有什么问题。
  • @iPatel 感谢您的回复。是的,我已经检查了这些方法,但是没有可以处理状态栏的东西。

标签: ios iphone objective-c uitableview


【解决方案1】:

如果以后有人遇到同样的问题,这就是答案。

第 1 步:将此添加到您的 .plist 文件中。

查看基于控制器的状态栏外观--->否

第 2 步:这两行将您的 appDelegate 放入 didFinishLaunchingWithOptions 方法中。

[[UIApplication sharedApplication] setStatusBarHidden:NO];

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

【讨论】:

    【解决方案2】:

    这里有一篇文章很好地解释了如何设置基于 ViewController 的状态栏:iOS 7 and later: set status bar style per view controller

    【讨论】:

    • 感谢 Tijn,但我已经尝试了所有这些方法,但它们都不起作用。
    【解决方案3】:

    如果viewDidLoadViewWillAppear中没有与statusBar相关的代码,则使用[[UIApplication sharedApplication] setStatusBarHidden:NO animated:NO];修复它,在ViewWillAppear方法中编写此代码。

    【讨论】:

      猜你喜欢
      • 2014-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-07
      • 2014-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多