【问题标题】:Status bar in IOS weird behaviourIOS奇怪行为中的状态栏
【发布时间】:2015-05-13 05:00:34
【问题描述】:

我有一个闪屏,它通过动画淡入主屏幕。我已将项目的常规设置中的 UIstatusbar 样式设置为 Light,并将 info.plist 中的“基于控制器的状态栏外观”设置为 NO。

所有视图和图像都从 y = 0 开始,即 TOP。状态栏是这样的,我无法调试原因。

我没有在视图控制器中编写任何额外的代码。虽然我已经尝试了其中的几个,但它们似乎不起作用

-(void)viewDidLayoutSubviews
{
    if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
        [self setNeedsStatusBarAppearanceUpdate];
    }
}

或者在动画结束后让状态栏隐藏=NO并设置样式。这些似乎都不起作用。任何指针都会有所帮助。

[更新]: 我创建了一个新的视图控制器并将其嵌入到导航控制器中。它仍然发生在我添加新的所有视图控制器上。

【问题讨论】:

  • 您是否尝试在设备中运行该应用程序?
  • 是的,它会发生,但仅限于 iPhone 6 及更高版本。在 iPhone 5S 及以下设备上看起来不错
  • 我认为状态栏无法识别设备的宽度。你有没有在任何地方强行设置宽度 320?
  • @iPhone:没有。实际上,即使我创建了一个新的视图控制器并运行它,我也面临着同样的问题。属性检查器中的所有属性都是推断出来的。
  • @ankit_rck 我认为您在设计时选择了 3.5 或 4 作为 Size。

标签: ios objective-c iphone xcode uistatusbar


【解决方案1】:

状态栏显示非常好。问题在于您的视图控制器实现。

【讨论】:

  • 即使我创建了一个新的空白视图控制器并运行它,我也面临同样的问题。属性检查器中的所有属性都是推断出来的。
  • 您是否在代码中的任何位置设置窗口框架?
  • 您是否在代码中的任何位置设置了任何静态框架?
【解决方案2】:

重置模拟器设置即可解决问题

编辑 1

首先明确是代码错误还是 SDK 错误,如果在所有项目中都相同,则为 SDK 问题,如果仅在一个项目中,则为代码错误

【讨论】:

  • 什么都没有发生,我在 iphone 6 设备上也面临同样的问题。令人惊讶的是它不会出现在 iphone 5S 和更低的设备上
  • 横向模式下的效果如何?
  • 只有一个带有这个和新视图控制器的项目。现有的视图控制器工作正常
  • 我认为你的新视图控制器有同样的问题是'this'主控制器的孩子,是吗???您是否尝试过创建来自'working fine' 视图控制器的新视图控制器?尝试删除 "this" 视图控制器并再次创建,如果可行,然后记下所有属性和 "ctrl-z" 以获取旧视图控制器并更改注释
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-13
  • 1970-01-01
  • 2014-07-31
相关资源
最近更新 更多