【问题标题】:Nativescript IOS: Textview not resizing after Input was clearedNativescript IOS:清除输入后Textview未调整大小
【发布时间】:2019-10-28 13:22:38
【问题描述】:

我正在尝试在 nativescript-angular 中创建一个简单的聊天。在 Android 上一切正常,但在 IOS 上我有一个奇怪的错误,如果用户在 textview 中输入多行,则在发送消息后,textview 不会返回到原始状态。

textview 的高度设置为“auto”,这是 Textview 动态调整大小所必需的。

当用户单击“发送”按钮时,文本视图应调整为原始大小。然而,它仍然是旧的高度。在 Android 上,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 上运行良好。

关于如何在 IOS 上调整 TextView 大小的任何建议?我尝试访问本机元素并将高度再次设置为自动:

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

height 是 PercentLength 属性,auto 是有效值,但没有影响。如果我将其设置为绝对数字,它会起作用,但我想避免这种情况。

谢谢!

【问题讨论】:

  • 您能分享一个简单的 Playground 示例,在该示例中可以重现该问题吗?
  • 我没有物理 ios 设备,可以快速测试它,但这应该复制它:play.nativescript.org/?template=play-ng&id=MnQyK4
  • 它崩溃了,但我设法看到了这个问题。重置消息后尝试拨打this.textView.nativeElement.requestLayout();
  • 如何选择评论作为答案?

标签: ios textview nativescript chat nativescript-angular


【解决方案1】:

iOS 不会在文本更改时重新布局,您可以使用以下代码强制重新布局。

this.textView.nativeElement.requestLayout();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-16
    • 1970-01-01
    • 2013-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-05
    • 1970-01-01
    相关资源
    最近更新 更多