更改状态栏字体颜色

问题描述 投票:1回答:2

是否仍然可以使用angular2 / nativescript更改某些页面上的状态栏颜色?

我尝试从文档中使用这种方式,但它不起作用。

import { topmost } from "tns-core-modules/ui/frame";

if (topmost().ios) {
   var navigationBar = topmost().ios.controller.navigationBar;
   // 0: default
   // 1: light
   navigationBar.barStyle = 1;
}

游乐场的例子在这里:https://play.nativescript.org/?template=play-ng&id=z8CnAz

PS:我需要在第一页上有黑色状态栏,在第二页上有白色。可能吗?

nativescript angular2-nativescript angular-nativescript
2个回答
0
投票

您必须在UIViewControllerBasedStatusBarAppearance中将true键设置为info.plist

<key>UIViewControllerBasedStatusBarAppearance</key>
<true/>

0
投票

您可以使用下一个处理程序将load事件设置为ActionBar

export function onActionBarLoaded(args: EventData) {
    const actionBar = <ActionBar>args.object;

    if (actionBar.ios) {
        var navigationBar = actionBar.page.frame.ios.controller.navigationBar;
        navigationBar.barStyle = 1;
    }
}

Test playground

© www.soinside.com 2019 - 2024. All rights reserved.