引起无法使用的原因不敢肯定,在网上搜索一些文章大概是说ios升级到11之后会出现这个问题,当然当ios发布11时,如果还是在用ionic1 说明项目是老项目或事掌握的技术的落后了。我是两者皆是。

解决方式很简单,但网上这么多关于这个问题的blog都没有直接了当的给出解决方案,让我花了很长时间各种尝试,所以才决定出一篇文档记录一下这个问题。

废话不多说,如果你用的是ionic v1这个版本,那么你可以从Cordova的cordova-plugin-ionic-keyboard插件入手,我写这边文章时keyboard的版本时2.0.0,将这个插件升级到这个版本,在安装升级cordova-plugin-ionic-keyboard时,github中升级文档提到

Instead of hideKeyboardAccessoryBar it's hideFormAccessoryBar

而解决这个问题的方法就是将hideKeyboardAccessoryBar或是hideFormAccessoryBar设置成false,由于一开始没有看GitHub 的文档提到版本升级后属性名变了,而走了很多冤枉道。其实升级完cordova-plugin-ionic-keyboard后,只需在angular.run()方法中加上下面的代码就可以了

if (window.cordova && window.Keyboard) {
      window.Keyboard.hideFormAccessoryBar(false);
}

最后结论是ionic1 技术太老,随着ios和andorid的版本升级,坑是越来越多。转站flutter才是大方向


hellowoody
118 声望10 粉丝

个人网站:woodyhello.com