1

对于某些屏幕,状态栏文本颜色是白色的,但对于某些屏幕,它是黑色的,那么如何将 ios7 的所有屏幕更改为白色。我有使用PreferedStatusBarStyle()方法,但它没有执行。

4

1 回答 1

1

可以肯定的PreferedStatusBarStyle()是,不是您调用的方法,而是您必须覆盖的方法。

public partial class MyViewController : UIViewController
{
    public override UIStatusBarStyle PreferredStatusBarStyle ()
    {
        return UIStatusBarStyle.LightContent;
    }
}

现在,这仅适用于顶级视图控制器(或类似的,作为 VC 推入 a UINavigationController)。如果您希望子视图控制器驱动状态栏,请覆盖ChildViewControllerForStatusBarStyle

public partial class TopLevelViewController : UIViewController
{
    public override UIViewController ChildViewControllerForStatusBarStyle ()
    {
        return myNestedViewController.
    }
}

详尽地说,如果 BarStyle 发生了变化,请确保通过调用SetNeedsStatusBarAppearanceUpdate ().

希望能帮助到你。

于 2013-10-09T06:45:12.003 回答