您需要登录后才可以操作登录 | 立即注册
关闭
楼主
kyran
  • TA的每日心情
    开心
    2017-2-6 09:17
  • 签到天数: 478 天

    连续签到: 1 天

    [LV.9]以坛为家II

    [秘籍荟萃] uexChatKeyboard内容被遮挡安桌解决办法 [复制链接]

    1619 6 发表于 2015-10-15 11:51:32

    1.这个是我自己通过修改插件增加返回一个表情面板高度来达到目的,,最后希望官方能有个更好的办法。IOS没环境试,未知,
    代码写的不是很好,但效果达到了,
    如果你的样式有问题,那需要自己在调试了。
    首先在content页里 cbGetInputBarHeight  回调加入方法重置cotent页的高度
    //定义全局变量
    var plat = uexWidgetOne.getPlatform(); //取系统类型
    var status =false;定义键盘状态
    var winHeight = window.innerHeight;//取content页高度
    uexChatKeyboard.cbGetInputBarHeight = function(data) {
                        // alert(data+"\n"+status+"winHeight:"+winHeight);
                        var obj = JSON.parse(data);
                        if (plat) {
                            if (status == true || status == "true") {
                               //执行主窗口方法重置cotent页的高度
                                appcan.window.evaluateScript('chatRoom', 'reSizeWin(' + obj.height + ',' + winHeight + ',1,' + obj.emHeight + ')');
                            } else {
                                appcan.window.evaluateScript('chatRoom', 'reSizeWin(' + obj.height + ',' + winHeight + ',0,' + obj.emHeight + ')');
                            }

                        }
                    }
    在onKeyBoardShow  show的方法加入取键盘的高度
    uexChatKeyboard.onKeyBoardShow = function(json) {
                        var obj = JSON.parse(json);
                        if (parseInt(obj.status) == 0) {
                            status = false;
                            if (plat) {
                                uexChatKeyboard.getInputBarHeight();
                            }
                        } else {
                            status = true;
                            if (plat) {
                                uexChatKeyboard.getInputBarHeight();
                            }
                        }
                        //scrollWin();
                    }
    function scrollWin() {
                window.scrollTo(0, document.body.scrollHeight);//移动到底部
                $('img').each(function() {//如果有图片,在图片加载完后,在移动到底部
                    this.onload = function() {
                        window.scrollTo(0, document.body.scrollHeight);
                    }
                })
            }
    在主窗口里
    function reSizeWin(height, winHeight, stat, emHeight) {
                var titHeight = $('#header').offset().height;//取标题栏高度
                if (stat == 0) {//关闭的时候,重置content高度
                    appcan.window.resizePopover("content", 0, titHeight, window.innerWidth, winHeight);
                } else {//键盘打开的时候
                    if (emHeight == 0) {//表情窗口关掉的时候
                        appcan.frame.resize("content", 0, titHeight);//直接重置原来高度
                    } else {//表情打开的时候,原来高度-插件高度-表情框高度
                        appcan.window.resizePopover("content", 0, titHeight, window.innerWidth, winHeight - height - emHeight);
                    }
                }
                appcan.frame.evaluateScript('', 'content', 'scrollWin()');//执行浮动窗口移动记录到底部
            }

    1.png 2.png 3.png
    修改插件下载:
    uexChatKeyboard.rar (73.15 KB, 下载次数: 318)
    沙发
    AppCan运营
  • TA的每日心情
    开心
    2018-6-6 14:54
  • 签到天数: 128 天

    连续签到: 1 天

    [LV.7]常住居民III

    显示全部楼层 发表于 2015-10-15 13:51:16
    非常感谢 kyran 版主分享的方法~
    板凳
    尹老师
  • TA的每日心情
    开心
    2015-12-25 09:29
  • 签到天数: 4 天

    连续签到: 4 天

    [LV.2]偶尔看看I

    显示全部楼层 发表于 2016-4-26 18:40:06
    太牛了,感谢楼主的分享。
    5#
    天雷
  • TA的每日心情
    开心
    2016-1-12 14:02
  • 签到天数: 18 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    显示全部楼层 发表于 2016-8-27 14:39:03
    uexChatKeyboard.cbGetInputBarHeight(data)版主这个回调方法并没有emHeight啊
    6#
    老马405
  • TA的每日心情
    开心
    2017-9-30 11:05
  • 签到天数: 11 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    显示全部楼层 发表于 2016-9-12 23:34:43
    怎样让新添加的消息在可视区的最下,或者使用什么滚动的技术让消息列表滚动到最下面?
    还有一些帖子被系统自动隐藏,点此展开
    主题:
    级别:游客
    发帖:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表