所以我正在使用第三方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/

10-14 12:17