微信小程序开发,当我们遇见input,textarea等输入文本框是,就会出现,软件盘遮挡或者页面上推,导致穿透navbar的情况,本来这种情况可以处理,奈何测试认为这是bug,必须要要改,这里就谈谈我的处理办法。
1 uniapp+vue+uview组件库 实现以上效果。
这里首先要说下页面上推的开启和关闭。再文本框微信api中是有一个属性的就是adjust-position这个属性如果这个属性为true则就是页面上推,如果页面上推,则就会导致整体页面上移,穿透navbar导航。注意这里说的是使用navbar不是微信小程序自带的导航。由于uview组件库中navbar的fixed属性默认都是true既是固定定位,所以通常情况下,我们页面比较高的时候,页面都是从他的下面穿过。正常是没有问题的。但是当页面整体被上推,这个fixed定位属性就会失效,无法固定再页面的顶部,也就是说也被整体上推了。
既让已经知道这个原因,那么我们来看看怎么去改。
目前比较确定的能实现的解决办法有两种,其他都是均无效或者说和我们要实现的效果不一致。
第一种:利用定位实现。即再关闭input的上推功能前提下,获取键盘高度后,将需要和键盘对其的页面底部定位到和软键盘高度的位置。这种情况适用比较间的的页面。
者请采用定位的方法,目前我的使用再android下没有问题,但是再ios下出出现了问题。所以这种解决方案我本人已经更改,改为第二种实现方法。
第二种