我在 iOS 9 上使用 UIScrollView 有两个页面,对于第一页,我希望状态栏文本为黑色,第二页为白色。因此,当我滑动到第二页时,如果我滑动到第一页,我希望状态栏颜色变为白色和黑色。
我尝试在 plist 文件中将 UIViewControllerBasedStatusBarAppearance 设置为 false ,然后以编程方式调用:
UIApplication.SharedApplication.StatusBarStyle = UIStatusBarStyle.BlackTranslucent;
SetNeedsStatusBarAppearanceUpdate();
Run Code Online (Sandbox Code Playgroud)
但不幸的是,状态栏文本显示为白色,即使在调用 UIApplication.SharedApplication.StatusBarStyle = UIStatusBarStyle.BlackTranslucent; 时也保持白色。
知道如何在同一个视图控制器中手动更改状态栏文本颜色吗?
如果您为视图控制器使用导航控制器,请尝试更改属性:
NavigationController.NavigationBar.BarStyle
Run Code Online (Sandbox Code Playgroud)
“默认”应该是黑色,“LightContent”应该是白色。我相信黑色选项已被弃用。
否则,您可以在 Info.plist 中选择基于视图控制器的状态栏样式,并使用这里提到的preferredStatusBarStyle 属性。
在您的 ViewDidLoad 方法中,执行 SetNeedsStatusBarAppearanceUpdate();
添加以下方法:
public override UIStatusBarStyle PreferredStatusBarStyle()
{
return UIStatusBarStyle.LightContent; //Or Default/Black/etc.
}
Run Code Online (Sandbox Code Playgroud)
注意:UIApplication.SharedApplication用于更改状态栏样式在 iOS 9 中已被弃用。请改用上述方法。希望这有帮助。干杯!
| 归档时间: |
|
| 查看次数: |
3865 次 |
| 最近记录: |