Ich versuche, die Deckkraft der Aktionsleiste zu ändern. Beim Test versuche ich die Farbe gegenüber der nativen Methode zu ändern, aber das wird nicht funktionieren.NativeScript ActionBar Opazität
Ich verstehe nicht warum, andere native Funktionen wie UIAlert funktioniert gut. Ich habe keine Fehler oder irgendetwas anderes nur, dass die ActionBar wie folgt aussehen:
Mein Ziel ist es völlig transparent, da der Hintergrund ein Gefälle aufweist.
Dies ist meine Seite geladen Funktion:
loaded(args){
let page = <Page>args.object;
page.bindingContext = appViewModel;
if (page.ios) {
var controller = frameModule.topmost().ios.controller;
var navigationBar = controller.navigationBar;
navigationBar.barTintColor = UIColor.blueColor();
}
}
Dank für Hilfe
UPDATE
mein ts Code:
var frameModule = require("ui/frame");
import {topmost} from "ui/frame";
import {Page} from "ui/page";
import {Observable, EventData} from "data/observable";
import {View} from "ui/core/view";
let appViewModel = new Observable({selectedPage: "dashboard"});
export abstract class BasePage {
//implement this function in the inheriting pages to set their specific binding context
abstract mainContentLoaded(args:EventData);
loaded(args){
let page = <Page>args.object;
page.bindingContext = appViewModel;
if (page.ios) {
frameModule.topmost().ios.navBarVisibility = "always";
page.ios.title = "Test Application";
var controller = frameModule.topmost().ios.controller;
var navBar = controller.navigationBar;
navBar.barTintColor = UIColor.redColor();
navBar.navigationBarHidden = false;
navBar.barStyle = UIBarStyle.UIBarStyleBlackTranslucent;
}
}
toggleDrawer(){
let page = <Page>topmost().currentPage;
let drawer = <any>page.getViewById("sidebar");
drawer.toggleDrawerState();
}
navigate(args){
let pageName = args.view.text.toLowerCase();
appViewModel.set("selectedPage", pageName);
topmost().navigate("modules/" + pageName + "/" + pageName);
}
}
mein xml:
<page
xmlns="http://schemas.nativescript.org/tns.xsd"
xmlns:drawer="nativescript-telerik-ui/sidedrawer"
xmlns:widgets="shared/widgets"
loaded="loaded">
<page.actionBar>
<action-bar>
<navigation-button icon="res://ic_menu" tap="toggleDrawer" ios:visibility="collapsed" />
<action-bar.actionItems>
<ios>
<action-item icon="res://ic_menu" ios.position="left" tap="toggleDrawer" />
</ios>
</action-bar.actionItems>
</action-bar>
</page.actionBar>
<drawer:rad-side-drawer id="sidebar">
<drawer:rad-side-drawer.mainContent>
</drawer:rad-side-drawer.mainContent>
<drawer:rad-side-drawer.drawerContent>
<widgets:drawer-content />
</drawer:rad-side-drawer.drawerContent>
</drawer:rad-side-drawer>
</page>
dieser Code keine Auswirkung auf meine Aktion-Bar. Ich arbeite mit Typoskript. Ich verstehe nicht, warum, wenn ich Ihren Code in ein neues Projekt, das mit JS funktioniert, dann ich es funktioniert (neues Projekt mit ts hat den Code keine Wirkung). Ich habe die Plattformdeklarationen und die Referenzen installiert. Wo ist mein Problem? – Aron