Iativescript IOS: TextView не изменяет размер после очистки ввода - PullRequest
0 голосов
/ 28 октября 2019

Я пытаюсь создать простой чат на nativescript-angular. На Android все работает нормально, однако на IOS у меня есть эта странная ошибка, когда пользователь вводит несколько строк в текстовое представление, текстовое представление не возвращается в исходное состояние после отправки сообщения.

Высотадля textview установлено значение «auto», которое необходимо для динамического определения размера для Textview.

Когда пользователь нажимает кнопку «отправить», текстовое представление должно измениться до исходного размера. Однако это остается старой высоты. На Android TextView отлично изменяет размеры ..

Это мой TextView:

<TextView #textView row="1" column="0" textWrap="true" lineHeight="4" height="auto" 
        [(text)]="message" (textChange)="onTextChange($event)" class="text-view" ></TextView>

И в моем машинописном наборе я просто установил this.message = '';, который достаточно хорошо работает на Android.

Любые предложения о том, как изменить размер TextView на IOS? Я попытался сделать это с помощью доступа к нативному элементу и снова установил высоту на auto:

this.textView.nativeElement.height = "auto";

height - это свойство PercentLength, а auto - допустимое значение, однако оно не оказывает влияния. Это работает, если я установлю его на абсолютное число, но я хочу избежать этого.

Спасибо!

1 Ответ

0 голосов
/ 30 октября 2019

iOS не меняет макет при изменении текста, вы можете принудительно изменить макет с помощью следующего кода.

this.textView.nativeElement.requestLayout();
...