所以我正在使用第三方api,具体来说,这是一个:
https://github.com/twitchtv/twitch-ios-plugin-bin
该API的作用基本上是让我进行以下调用:
[[TwitchKit sharedPlugin] presentStreamForChannelNamed:channel.user mode:TKStreamPresentationModeRemainInApp];
其中channel.user是一个带有Twitch频道名称的NSString,新的视图弹出了我当前所请求的视频流。
我看不到任何更改Twitch来源的方法,因此我坚持使用它的方式。
但是,我的应用程序使用深色方案,而Twitch的弹出窗口的顶部看起来像导航栏,但它是白色的(默认Apple颜色)。由于我的配色方案为深色,因此我的状态栏为白色。因此,当Twitch叠加层弹出时,它会使状态栏变得不合理。
有两个简单的解决方案:
当Twitch的视图出现时,使状态栏变为黑色。
使Twitch的导航栏变暗。
不幸的是,我似乎无法使它们都起作用。我在presentStreamForChannel调用之后立即尝试了此操作:
[self.presentedViewController.navigationController.navigationBar setBackgroundColor:[UIColor purpleColor]];
但没有骰子。
我也尝试过:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
收效甚微。
在发生这种过渡时,如何使状态栏变黑或使新控制器的栏变黑?
最佳答案
我尝试了以下解决方案对我有用的演示。
转到您的info.plist,添加属性“基于视图控制器的状态栏外观”并将其设置为“否”。
将以下代码添加到您的应用程序委托中。[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
这会使状态栏在整个应用程序中变黑。
关于ios - 呈现 View Controller 后更改iOS状态栏颜色或导航栏颜色?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27159403/