iOS 的 Ionic/AngularJS/Phonegap 键盘问题

Posted

技术标签:

【中文标题】iOS 的 Ionic/AngularJS/Phonegap 键盘问题【英文标题】:Ionic/AngularJS/Phonegap Keyboard issue with iOS 【发布时间】:2014-08-15 14:53:21 【问题描述】:

我们使用 Ionic Framework、AngularJS、Phonegap Build 3.4 创建了一个应用程序

我们在 ios 上遇到了一些键盘问题 - 在 android 上很好:

安卓:

图 1:我们打开收到的一条消息 - 回复栏在 ion-footer-bar div 中

图2:我们点击写消息回复输入框-这是正确的:

iOS:

图 1:我们打开收到的一条消息 - 回复栏在 ion-footer-bar div 中

图2:我们点击写消息回复输入框-这是不正确的!如您所见,当键盘启动时,整个屏幕向上移动。我们该如何解决这个问题?

【问题讨论】:

在 IOS 7 中遇到同样的问题。我没有找到解决方案。 你也在使用Phonegap Build吗?或者你用什么来构建你的应用程序? 【参考方案1】:

我认为这是与 iOS 7.1 相关的问题,因为我们的构建在 iOS 上运行良好。一种简单的技巧是使用ionic keyboard plugin。

你看到这个插件提供了两个事件

native.keyboardshow
    A number keyboardHeight is given on the event object, which is the pixel height of the keyboard.

`native.keyboardhide`

keyboardHeight 在键盘出现时发送。您可以使用此高度来调整主要内容的大小。

我知道这是解决这个问题的糟糕方法,但它可以解决你的问题,直到这个问题在框架中得到解决。

【讨论】:

你也在使用Phonegap Build吗?或者你认为这是一个离子问题?或者你用什么来构建你的应用程序?我正在尝试隔离问题..【参考方案2】:

我们终于解决了这个问题!!首先,我们必须将其添加到 ion-footer-bar:

  keyboard-attach

然后我们将 Ionic 升级到最新的稳定版本:

  1.0.0-beta.11

【讨论】:

以上是关于iOS 的 Ionic/AngularJS/Phonegap 键盘问题的主要内容,如果未能解决你的问题,请参考以下文章

同步IO异步IO阻塞IO非阻塞IO之间的联系与区别

同步IO异步IO阻塞IO非阻塞IO之间的联系与区别

iOS 自动布局 ios 7 与 ios 8

网络IO模型:同步IO和异步IO,阻塞IO和非阻塞IO

同步IO,异步IO,阻塞IO,非阻塞IO的联系与区别

iOS 8、iOS 9、iOS 10 和 iOS 11 上的 UITabBar 的高度是多少?