web-dev-qa-db-ja.com

キーボードを閉じる際のios12、xcode10、cordova 7.1、cordova-ios4.5.4のスクロールビューの問題

Framework7 v2.3.1を使用してiOS用のCordovaアプリを作成しました。

完全に動作しますが、数日前にiOS用のCordovaアプリをXcode 10でコンパイルしました。iOS12デバイスで、アプリをXcode 10でコンパイルすると、入力フィールドを選択するとキーボードが表示され、ビューが上にスクロールしますが、キーボードを閉じると、ビューは下にスクロールせず、キーボードの空白スペースが残ります。 Xcode9.4でアプリをコンパイルしてiOS12のデバイスにインストールした場合、またはアプリをXcode10でコンパイルしてiOS11.xのデバイスにインストールした場合は、問題はありません。説明するスクリーンショットをアップロードしました。より良い問題誰かが解決策を持っていますか?ありがとう

Steps to explain the problem on keyboard closing

8
ciossi

このプラグインを使用してください https://www.npmjs.com/package/cordova-plugin-keyboard#keyboarddidhide

または「cordovaプラグインはcordova-plugin-keyboardを追加します」

次に、これをdeviceReadyに追加します。

Keyboard.automaticScrollToTopOnHiding = true;

これはios12で私のために働きます

3
doru

私はトリッキーな方法でそれを修正します、あなたは試してみるべきです:

- (void)keybordDidHide {
    if (!CGPointEqualToPoint(self.lastContentOffset, self.webView.scrollView.contentOffset)) {
        [self.webView.scrollView setContentOffset:self.lastContentOffset];
        [self.webView.scrollView setContentInset:UIEdgeInsetsMake(0, 0, 0, 0)];
    }
}

- (void)keybordWillShow {
    self.lastContentOffset = self.webView.scrollView.contentOffset;
}
1
Ethan Hou