当使用Nativescript为iOS选择文本字段时,点击堆栈视图上的操作无法正常工作

当使用Nativescript为iOS选择文本字段时,点击堆栈视图上的操作无法正常工作,ios,nativescript,Ios,Nativescript,所以我使用Nativescript为Android和iOS创建应用程序,iOS出现了一些问题 所以我有一个堆栈视图,我在其中添加了一个点击动作,称为“closeKeyboard”(目前只是将消息记录到控制台)。 在堆栈视图中,我有一个文本字段。 问题是,当我按下文本字段时,堆栈视图操作也会被触发 在Android上,它可以按预期工作-选择文本字段不会触发堆栈视图操作 下面是main-page.xml的代码 <Page xmlns="http://schemas.nativescript.o

所以我使用Nativescript为Android和iOS创建应用程序,iOS出现了一些问题

所以我有一个堆栈视图,我在其中添加了一个点击动作,称为“closeKeyboard”(目前只是将消息记录到控制台)。 在堆栈视图中,我有一个文本字段。 问题是,当我按下文本字段时,堆栈视图操作也会被触发

在Android上,它可以按预期工作-选择文本字段不会触发堆栈视图操作

下面是main-page.xml的代码

<Page xmlns="http://schemas.nativescript.org/tns.xsd" navigatingTo="onNavigatingTo">
  <StackLayout tap="closeKeyboard">
    <Label class="conf-button-label" text="Netto sum" />
    <TextField text="{{ sum }}" hint="Type number" returnKeyType="done" keyboardType="number" keyboardPatter="[0-9]*" returnPress="done" id="sum" col="0" row="0"  class=""/>
  </StackLayout>
</Page>
<Page xmlns="http://schemas.nativescript.org/tns.xsd" loaded="loaded">
  <StackLayout id="stack">
    <Label text="Tap the button" class="title"/>
    <Button text="TAP" tap="{{ onTap }}" />
    <Label text="{{ message }}" class="message" textWrap="true"/>
    <TextView id="text" text="" hint="Enter some text" backgroundColor="yellow" updateTextTrigger="focusLost"/>
  </StackLayout>
</Page>

有人能帮我吗?

我想唯一的办法是将
closeKeyboard()
从Stacklayout移动到子视图标签。或者,您可以尝试为textfield定义一个单独的点击操作,以覆盖stacklayout的点击操作。

如果您想创建类似javascript模糊事件的内容或只是为了隐藏键盘,当您在TextView外部点击时,您可以使用本机代码为ios设置自定义手势。您可以查看下面附带的示例:

main-page.xml

<Page xmlns="http://schemas.nativescript.org/tns.xsd" navigatingTo="onNavigatingTo">
  <StackLayout tap="closeKeyboard">
    <Label class="conf-button-label" text="Netto sum" />
    <TextField text="{{ sum }}" hint="Type number" returnKeyType="done" keyboardType="number" keyboardPatter="[0-9]*" returnPress="done" id="sum" col="0" row="0"  class=""/>
  </StackLayout>
</Page>
<Page xmlns="http://schemas.nativescript.org/tns.xsd" loaded="loaded">
  <StackLayout id="stack">
    <Label text="Tap the button" class="title"/>
    <Button text="TAP" tap="{{ onTap }}" />
    <Label text="{{ message }}" class="message" textWrap="true"/>
    <TextView id="text" text="" hint="Enter some text" backgroundColor="yellow" updateTextTrigger="focusLost"/>
  </StackLayout>
</Page>

然而,GitHub问题中也讨论了同样的问题

非常感谢。这真的帮了我很大的忙。但,也许你们知道当键盘关闭时,我该如何做一些动作?在我当前的项目中,只有当我按下键盘上的“完成”键时,计算才会完成,但在键盘关闭后提交输入将非常棒。我相信在IOS中,它被称为UIKeyboardWillHidenotifications,您可以将属性更改事件侦听器添加到文本字段。在这种情况下,您还应该将
updateTextTrigger=“focusLost”
添加到textfield,只有当textfield失去焦点时,它才会返回text属性的全部值。您可以在此处查看文章-