2016-05-30 60 views
0

我想将NavigationBar/ActionBar颜色设置为在Nativescript中透明/清晰。Nativescript iOS UIColor

import {BasePage} from "../../shared/BasePage"; 
import frameModule = require("ui/frame"); 
import {topmost} from "ui/frame"; 
import {Observable, EventData} from "data/observable"; 
import {View} from "ui/core/view"; 

class HomePage extends BasePage{ 

    mainContentLoaded(args:EventData){ 
     let view = <View>args.object; 

     if(view.ios){ 
      var controller = frameModule.topmost().ios.controller; 
      controller.navigationBar.barTintColor = UIColor.redColor(); 
     } 

     view.bindingContext = new Observable({ myText: 'This is the home page' }); 
    } 
} 
    export = new HomePage(); 

,但我得到这个错误: “错误TS2304:找不到名称 '的UIColor'”

什么,我做错了什么?

感谢您的帮助

回答

2

我建议你使用NS颜色模块,并将其转换为iOS的颜色,让你可以使用任何你想要的颜色。像这样:

var colorModule = require("color"); 
var red = new colorModule.Color("#ff0000"); 

var controller = frameModule.topmost().ios.controller; 
controller.navigationBar.barTintColor = red.ios; 
+0

感谢您的帮助,如何从透明导航栏使用iOS的clearColor()? – Aron

+0

我从来没有这样做过,但iOS导航栏有'半透明'属性,可以尝试将其设置为true。另一种选择是将alpha值传递给颜色。如上例所示,它将是ARGB值而不是十六进制值,如:“#00ff0000”,取决于您想要的透明度。 –