当我需要在iOS上以编程方式关闭键盘时,我遇到了这种情况。为了解决这个问题,我正在使用这段代码:
Keyboard.close();
关闭键盘但每当我触摸屏幕时,它都会重新打开。有人遇到过这种情况吗?谢谢!
答案 0 :(得分:2)
在模态中使用iframe时,我在ios 11中也遇到了这个问题。如果我使用this.keyboard.close()手动关闭键盘,它将在每次触摸时重新打开。我终于解决了 https://forum.ionicframework.com/t/keyboard-reopens-after-close-repeatedly-on-ios/107347/2 在嵌入iframe的页面中添加以下内容
embed.ts
declare var cordova;
@ViewChild('ioshack') ioshack;
ionViewWillLeave() {
if(cordova.plugins.Keyboard.isVisible){
this.ioshack.setFocus();
}
}

embed.html
<ion-content>
<iframe [src]="url" width="100%" height="100%" frameborder="0" allowfullscreen>
</iframe>
<ion-input #ioshack type="text" value="" class="ioshack" style="height: 0px;"> </ion-input>
</ion-content>
&#13;
答案 1 :(得分:0)
显然Ionic 2在混合iframe和Ionic 2页时有一些错误。在我的情况下,我从iframe回来了,我需要键盘关闭。我设法解决这个问题的方法是在iframe中插入一个后退按钮,从iframe发出一个事件,并将一个监听器附加到Ionic 2应用程序,该应用程序以编程方式从堆栈中弹出最后一页。通过使用此方法,键盘会自动关闭,您只需触发事件即可返回一页。希望这个答案可以帮助那些有同样问题的人!