在monotouch中如何使ios7的状态栏文本颜色变为白色?

时间:2013-10-08 16:07:18

标签: xamarin.ios ios7

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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

要详尽无遗,如果BarStyle已更改,请确保通过调用SetNeedsStatusBarAppearanceUpdate ()来了解该事实。

希望它有所帮助。