Мне нужно ограничить максимальное количество строк метки с многоточием.
С ядром NativeScript это будет работать.
var label = page.getViewById("label");
if (label.ios) {
label.ios.numberOfLines = 2;
label.ios.lineBreakMode = NSLineBreakMode.ByTruncatingTail;
} else if (label.android) {
label.android.setMaxLines(2);
label.android.setEllipsize(android.text.TextUtils.TruncateAt.END);
}
Но это не работает с vue, поскольку ios
всегда возвращает undefined
, несмотря ни на что.
<template>
<Page>
<StackLayout orientation="vertical">
<Label ref="label" text="A big text"></Label>
</StackLayout>
</Page>
</template>
<script>
export default {
mounted() {
let label = this.$refs.label; // works.
//label.nativeView <- works.
//label.nativeView.ios <- undefined.
//label.nativeView.android <- undefined.
//It's weird, because if I list the keys of nativeView, the 'ios' property is present...
for (let key in label.nativeView) {
console.log(key);
}
}
}
</script>
Я проверил это с помощью iphone 6 plus, iOS 12.1.2.У меня нет устройства Android для тестирования, я не знаю, будет ли результат ожидаемым.
Ссылка на игровую площадку с NativeScript Core ЗДЕСЬ .
Игровая площадкасвязь с NativeScript-Vue ЗДЕСЬ .