Ionic 2/3 WhatsApp就像信使功能一样

时间:2017-08-23 06:40:00

标签: javascript ionic2 whatsapp messenger

我尝试使用JavaScript实现类似于Ionic 3的WhatsApp信使功能,并遇到了键盘问题。当我单击输入文本区域时,键盘将按键盘打开的数量移动整个App。如果我使用以下代码禁用滚动功能,那么我的输入文本区域字段将隐藏在键盘后面。

我想要的是禁用Scroll但输入文本区域与键盘一起向上移动。有谁知道如何巧妙地解决这个问题?非常感谢!!

{
        platforms : {
          ios : {
            scrollAssist: false,  
            autoFocusAssist: false 
          }
        }
      }

2 个答案:

答案 0 :(得分:0)

如果我理解你正确地查看keyboard plugin它有方法disableScroll(禁用)

答案 1 :(得分:0)

要做的第一件事是使用ionic-plugin-keyboard阻止本机浏览器向上推/滚动内容窗格,并允许键盘滑过并覆盖现有内容:

constructor(private keyboard: Keyboard) {
  this.platform.ready().then(() => {
    // ...

    this.keyboard.disableScroll(false); // <- like this

    // ...
}

注意Keyboard.disableScroll() ios和windows仅支持

  

是的,这解决了部分问题。另一部分是我的输入文本框现在隐藏在开始键盘后面。

就像你在this OS answer中看到的那样,我发现以下配置看起来效果更好(请记住,键盘仍然存在一些问题仍然存在):

@NgModule({
    declarations: [
        MyApp,
        //...
    ],
    imports: [
        //...
        IonicModule.forRoot(MyApp, {
            scrollPadding: false,
            scrollAssist: true,
            autoFocusAssist: false
        })
    ],
    bootstrap: [IonicApp],
    entryComponents: [
        // ...
    ],
    providers: [
        // ...
    ]
})
export class AppModule { }

关键是scrollPadding: falsescrollAssist: true:通过保留scrollAssist: true,我们可以避免键盘隐藏输入(如果它靠近页面底部),并设置{ {1}}我们还在隐藏键盘后避免了一些与空白空间相关的奇怪错误。