2015-05-24 88 views
6

我正在用Swift + AVPlayer构建应用程序,并将“基于视图控制器的状态栏外观”设置为“YES”。这个问题是,当我从我的UITableViewController/UINavigationController启动播放器时,导航栏会自动隐藏状态栏,并调整导航栏的大小。当隐藏状态栏时不要调整导航栏的大小

你可以明白我的意思是:

http://quick.as/eOXLiv45x

enter image description here

有什么办法防止这种情况?

干杯!

+0

我加入你的形象你的问题,GIF虽然是某种程度上的错误,也许上传到一个更好的网站,使其beeing包括正确。 – luk2302

+0

欢呼声,似乎在这里工作:) –

回答

1

好的,所以这是我最终使用的解决方案。

  1. 集“查看基于控制器的状态栏外观”到“NO”
  2. 覆盖在媒体视图控制器以下功能
override func viewDidAppear(animated: Bool) { 
    super.viewDidAppear(animated) 
    UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: .Fade) 
} 

override func viewWillDisappear(animated: Bool) { 
    super.viewWillDisappear(animated) 
    UIApplication.sharedApplication().setStatusBarHidden(false, withAnimation: .Fade) 
} 
+0

你是不是要在第一个函数中调用'viewDidAppear'而不是'viewDidDisappear'? – aednichols

-1
- (BOOL)hidesBottomBarWhenPushed { 
return YES; 
} 

您可以试试这个。但我90%确定这个问题必须与正在执行的某个操作相关联......如果要防止此操作读取该函数并禁用隐藏功能,或者可能创建另一个方法以在执行之后将该函数保持可见。

+0

我不推动,我通过手动模式呈现模式,视图样式设置为全屏。 –