bishuihanshan
bishuihanshan
  • 发布:2017-12-20 16:05
  • 更新:2017-12-22 21:37
  • 阅读:2105

ios输入法的高度

分类:MUI
iOS

想问下,有办法获取ios的输入法的高度吗
安装不同的输入法,高度是不是会有不同

2017-12-20 16:05 负责人:无 分享
已邀请:
猫猫猫猫

猫猫猫猫 - 用户已离线

有,使用插件的方式,在oc内可以获取键盘高度

  • bishuihanshan (作者)

    什么插件,怎么用,兄弟有没有相关的链接呢,我想学习下

    2017-12-21 16:00

  • 猫猫猫猫

    回复 bishuihanshan:你自己写的插件,我是让你离线打包用oc来获取,用5+插件开发方式给js调用。

    2017-12-21 16:10

6***@qq.com

6***@qq.com - 码农一只

楼上瞎说.ios是把webview顶上去,高度根本不变,只有安卓的才会缩小

bishuihanshan

bishuihanshan (作者)

是的,ios是顶上去的

  • bishuihanshan (作者)

    我也不懂怎么写,还有其他在忙,我就先忙其他事情了。。

    2017-12-22 16:12

skysowe

skysowe

未显示软键盘之前测量一下窗口的高度,显示软键盘的时候再测一下高度,二者相减就是软键盘高度,,论坛里有相关代码,搜一下即可

  • bishuihanshan (作者)

    是啊,窗口高度是不不变的

    2017-12-21 16:01

回梦無痕

回梦無痕 - 暂停服务

配合webview这个属性

softinputMode: (String 类型 )弹出系统软键盘模式  
可选值:“adjustPan”- 弹出软键盘时Webview窗口自动上移,以保证当前输入框可见;“adjustResize”- 自动调整Webview窗口大小(屏幕区域减去软键盘区域),同时自动滚动Webview保证输入框可见。 默认值为“adjustPan”。

楼上的方法应该可以算出键盘高度吧?

回梦無痕

回梦無痕 - 暂停服务

这个的确是可以监听到高度的变化,想知道会出现什么bug

document.addEventListener("plusready",function(){  
    plus.webview.currentWebview().setStyle({  
        softinputMode: "adjustResize"  
    });  
    console.log(document.documentElement.clientHeight);  
    window.onresize = function(){  
        console.log(document.documentElement.clientHeight);  
    };  
}) 
健健

健健

做了一个IM插件涉及到此需求:
键盘弹出高度获取方式

  1. plus.webview.currentWebview().setStyle({
    softinputMode: "adjustResize" // 自动调整
    });

2.页面添加一个绝对定位DIV bottom为0

  1. 键盘弹起 获取该DIV距离顶部位置
  2. 屏幕高度减去距离顶部高度=键盘高度(PS:结果+2为实际高度 不要问我为什么)
  • 健健

    JQ 获取DIV距离顶部方式 jQuery('footer').offset().top

    键盘弹起获取高度 加个setTimeout(function() {

    getTopHeigth()

    }, 30);

    2017-12-22 21:39

  • 健健

    回复 猫猫猫猫:if(mui.os.ios) {

    // 解决在ios上fixed元素focusin时位置出现错误的问题

    document.addEventListener('DOMContentLoaded', function() {

    var footerDom = document.querySelector('footer');


        document.addEventListener('focusin', function() {  
    footerDom.style.position = 'absolute';
    });
    document.addEventListener('focusout', function() {
    footerDom.style.position = 'fixed';
    });
    });

    }

    2017-12-25 09:27

该问题目前已经被锁定, 无法添加新回复