我在一个Nativescript-Angular应用程序中有一个RadDataForm。
这个RadDataForm显示了我的一个属性的日期选择器。
(或者我错过了什么?)
它们仍然是黑色的,但我需要其他颜色的(即白色)。
发布于 2019-06-04 13:02:43
根据Apple Docs,
UIDatePicker的外观是不可自定义的。
您应该使用自动布局将日期选择器集成到您的布局中。虽然日期选择器可以调整大小,但它们应该以其固有的内容大小使用。
但是,您几乎没有什么可以设置。我已经为here创建了一个游乐场。
在您的html中
<RadDataForm [source]="album" (editorUpdate)="dfEditorUpdate($event)">
<TKEntityProperty tkDataFormProperty name="albumName" displayName="Name of Album"
index="0"></TKEntityProperty>
<TKEntityProperty tkDataFormProperty name="bandName" displayName="Name of Band"
index="1"></TKEntityProperty>
<TKEntityProperty tkDataFormProperty name="year" displayName="Release Year"
index="2"></TKEntityProperty>
<TKEntityProperty tkDataFormProperty name="myRating" displayName="My Rating"
index="3"></TKEntityProperty>
<TKEntityProperty tkDataFormProperty name="owned" displayName="Do I Own This?"
index="4"></TKEntityProperty>
<TKEntityProperty tkDataFormProperty name="birthDate" index="5">
<TKPropertyEditor tkEntityPropertyEditor type="DatePicker">
<TKPropertyEditorStyle tkPropertyEditorStyle strokeColor="#00695c"
strokeWidth="2" fillColor="#4db6ac" labelHidden="false"
labelTextSize="18" ios:labelFontName="Times New Roman"
android:labelFontName="sans-serif-light"
labelFontStyle="Italic" labelPosition="Left"
labelWidth="60" labelTextColor="#ffffff"></TKPropertyEditorStyle>
</TKPropertyEditor>
</TKEntityProperty>
</RadDataForm>
在您的.ts文件中
import { Color } from "tns-core-modules/color";
import { EntityProperty, DataFormEventData, RadDataForm } from "nativescript-ui-dataform";
let colorLight = new Color("#ff0000");
let colorWhite = new Color("#ffffff");
let colorDark = new Color("#4CAF50");
let colorGray = new Color("#F9F9F9");
和
public dfEditorUpdate(args: DataFormEventData) {
if (androidApplication) {
switch (args.propertyName) {
case "appVolume":
break;
}
} else {
const entityProperty: EntityProperty =
(<RadDataForm>args.object).getPropertyByName(args.propertyName);
switch (entityProperty.editor.type) {
case "DatePicker":
const coreEditor = args.editor.editor;
coreEditor.subviews[0].backgroundColor = colorLight.ios;
coreEditor.subviews[0].setValueForKeyPath(colorWhite.ios, 'textColor');
break;
}
}
}
https://stackoverflow.com/questions/56423294
复制相似问题