是否仍然可以使用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:我需要在第一页上有黑色状态栏,在第二页上有白色。可能吗?
您必须在UIViewControllerBasedStatusBarAppearance
中将true
键设置为info.plist
<key>UIViewControllerBasedStatusBarAppearance</key>
<true/>
您可以使用下一个处理程序将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;
}
}