从Nativescript中的TextView中解除键盘的正确方法

Dai*_*rox 5 textview uitextview nativescript

我有以下TextView:

<TextView id="textFieldBody" hint="Some hint" text="{{  }}" editable="true" class="TextField" returnKeyType="done" />
Run Code Online (Sandbox Code Playgroud)

我正在尝试正确实现它,以便:

  • 当用户按下"完成"时,键盘消失
  • 当用户触摸TextView的外部(模糊)时,键盘消失
  • 也许当专注于TextView时,向上滚动以便视图的其余部分不会消失在键盘后面?(还不确定这个)

我不清楚如何实现这一目标.我需要实现什么样的后端代码?

理想情况下,我正在寻找适用于iOS和Android的解决方案.

Dea*_* Le 12

当用户按完后,键盘消失

对于这个,您可以将监听器放到textview中,以便在用户按下done按钮时触发它.当我查看NativeScript API时,此侦听器仅适用于TextField,但您可以尝试使用TextView:

在XML中:

<TextField returnPress="doneTap"/>
Run Code Online (Sandbox Code Playgroud)

在.js文件中:

function doneTap(args) {
    var myTextField = args.object;
    myTextField.dismissSoftInput();
}
exports.doneTap = doneTap
Run Code Online (Sandbox Code Playgroud)

当用户触摸TextView的外部(模糊)时,键盘消失

对于这个,您将把一个监听器放到TextField的父视图中.当您点击外部时,它将调用隐藏键盘的功能.好的是,这个监听器将被TextField tap重写.因此,当您点击TextField时,键盘仍会显示.你可以在这里找到答案

当专注于TextView时,向上滚动以使视图的其余部分不会消失在键盘后面?

使用此插件可防止键盘覆盖文本字段