1

是否仍然可以使用 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:我需要在第一页有黑色状态栏,在第二页有白色。可能吗?

4

2 回答 2

0

您可以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;
    }
}

测试操场

于 2019-04-15T10:38:43.327 回答
0

您必须UIViewControllerBasedStatusBarAppearancetrue您的info.plist

<key>UIViewControllerBasedStatusBarAppearance</key>
<true/>
于 2019-04-14T13:14:30.713 回答