gpt4 book ai didi

ios - 呈现 View Controller 后更改 iOS 状态栏颜色或导航栏颜色?

转载 作者:行者123 更新时间:2023-11-29 02:28:54 28 4
gpt4 key购买 nike

所以我正在使用第三方 api,特别是这个: https://github.com/twitchtv/twitch-ios-plugin-bin

这个 API 所做的基本上就是让我进行这个调用:

[[TwitchKit sharedPlugin] presentStreamForChannelNamed:channel.user mode:TKStreamPresentationModeRemainInApp];

其中 channel.user 是一个带有 Twitch channel 名称的 NSString,并且一个新 View 会在我当前的 View 上弹出,其中包含我请求的视频流。

我看不出有什么方法可以改变 Twitch 的来源,所以我坚持现状。

但是,我的应用程序使用深色配色方案,并且 Twitch 的弹出窗口在顶部有一个看起来像导航栏的东西,但它是白色的(默认 Apple 颜色)。因为我的配色方案是深色的,所以我的状态栏是白色的。所以当 Twitch overlay 弹出时,它使状态栏变得不合理。

有两个简单的解决方案:

  • 当 Twitch 的 View 出现时,让状态栏变黑。
  • 让 Twitch 的导航栏变暗。

不幸的是,我似乎无法让其中任何一个工作。我在 presentStreamForChannel 调用后立即尝试了这个:

[self.presentedViewController.navigationController.navigationBar setBackgroundColor:[UIColor purpleColor]];

但没有骰子。

我也试过:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];

收效甚微。

如何在发生此转换时使状态栏变黑,或使新 Controller 的状态栏变暗?

最佳答案

我试过演示以下解决方案对我有用。

转到您的 info.plist,添加属性“View controller-based status bar appearance”并将其设置为“NO”。

将以下代码添加到您的应用委托(delegate)。

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];

这将使整个应用程序的状态栏变黑。

关于ios - 呈现 View Controller 后更改 iOS 状态栏颜色或导航栏颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27159403/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com