Как отредактировать NativeScript-Angular RadDataForm UIStepper на iOS?

В NativeScript-Angular приложении я пытаюсь создать RadDataForms TKPropertyEditor. Для редактора Stepper на iOS я хочу увеличить расстояние между элементами управления и отображаемым значением, но я не могу найти способ получить к ним доступ.

Я использую nativescript-ui-dataform: 4.0.0.

<TKEntityProperty tkDataFormProperty name="grade" 
    displayName="Bewertung (1 – 10)" index="1">
  <TKPropertyEditor tkEntityPropertyEditor type="Stepper">
    <TKPropertyEditorParams tKEditorParams minimum="1" maximum="10" 
      step="1"></TKPropertyEditorParams>
    <TKPropertyEditorStyle tkPropertyEditorStyle valuePosition="Left"> 
    </TKPropertyEditorStyle>
  </TKPropertyEditor>
</TKEntityProperty>

comment
См. Расширенный стиль примеры здесь, вы можете напрямую изменить собственный объект, чтобы стилизовать свой элемент.   -  person Manoj    schedule 20.05.2019
comment
Спасибо! Пример показывает, что положение можно отрегулировать с помощью editorView.labelAlignment = TKGridLayoutAlignment.Left;. Однако TKGridLayoutAlignment не может быть найден. В примере не указано, откуда его импортировать, и пока я не нашел ответа.   -  person soup    schedule 20.05.2019
comment
Это собственный объект, который должен быть доступен во время выполнения. Чтобы избежать ошибок TS, просто выполните declare var TKGridLayoutAlignment;.   -  person Manoj    schedule 20.05.2019
comment
Отлично, спасибо большое!   -  person soup    schedule 20.05.2019


Ответы (1)


См. Расширенный стиль примеры здесь, вы можете напрямую изменить собственный объект, чтобы стилизовать свой элемент.

 public editorSetupStepperIOS(editor) {
    editor.valueLabel.textColor = colorDark.ios;

    const coreEditor = <UIStepper>editor.editor;
    coreEditor.tintColor = colorLight.ios;

    for (let i = 0; i < coreEditor.subviews.count; i++) {
        if (coreEditor.subviews[i] instanceof UIButton) {
            (<UIButton>coreEditor.subviews[i]).imageView.tintColor = colorDark.ios;
        }
    }
    const editorView = editor.editorCore;
    editorView.labelAlignment = TKGridLayoutAlignment.Left;
}
person Manoj    schedule 20.05.2019