有没有办法使键盘不在离子输入上方?

时间:2019-03-23 18:35:08

标签: angular cordova ionic-framework ionic4

我们正在部署一个Ionic应用程序,我们发现,当离子输入聚焦时,键盘位于离子输入的顶部。我应该如何进行更改?

我已经寻找了八个小时才能找到解决方案,但是我尝试的所有方法都无法正常工作。

以下是我发现的一些页面:

https://www.bountysource.com/issues/35651824-keyboard-overlaps-the-text-input-when-the-input-is-placed-inside-an-ion-footer

https://github.com/EddyVerbruggen/cordova-plugin-native-keyboard

https://github.com/ionic-team/ionic-v3/issues/117和相关页面。

<ion-list>
    ...
    <!--There are some element before, so that this one is at the bottom-->
    <ion-item>
        <ion-label position="floating">Description</ion-label>
        <ion-textarea type="text"
                      id="description"
                      [rows]="6"
                      [maxlength]="255"
                      name="description"
                      placeholder="Having more things to say ?"
                      [(ngModel)]="announce.description"
                      #description="ngModel"
                      required></ion-textarea>
    </ion-item>
    <div class="error-text" padding-start padding-end margin-bottom>
        <small>
            <span *ngIf="description.touched && description?.errors?.required">Required</span>
            <span *ngIf="description.touched && description?.errors?.maxlength">The max value 255</span>
        </small>
    </div>

</ion-list>

预期:

正如标题所述,我希望键盘出现在页脚的底部。

实际:

键盘在离子文本区域的顶部。当我键入文字时,它不会显示。

1 个答案:

答案 0 :(得分:0)

经过一些调查,问题实际上不是在键盘或其他键盘上,而是在状态栏的插件上导致了应用程序被拉下,而科尔多瓦再也不知道屏幕的高度了。

说明

我使用StatusBar.overlaysWebView(true)将应用程序屏幕显示在状态栏顶部,以便它可以处理颜色更改。

这样做恰恰是问题所在,如他们的opened issue on GitHub所述。

解决方案

使用

cordova plugin add https://github.com/breautek/cordova-plugin-statusbar.git#issue-110-statusbar-overlay-keyboard-resize

安装同一插件的另一个版本,即可解决该问题。

但是与此同时,问题应该已经被合并为said in the same thread