起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3743|回复: 8

[处理中3] ios软键盘的坑

[复制链接]

10

主题

89

帖子

313

积分

中级会员

Rank: 3Rank: 3

积分
313
QQ
发表于 2018-11-26 12:37:53 | 显示全部楼层 |阅读模式
本帖最后由 d1bug 于 2018-11-26 12:41 编辑

第一步,点击输入框,弹出如下:

1

1

第二部,手指在最下面往上滑动:

2

2

第三部,手指滑动到最上面,出现如下框:

3

3



可以从上面三张图看出来,下面黑屏部分的高度就是软键盘的高度。已经测试了不同ios设备,wex5版本3.8,xcode10,ios9.3和ios12.0.1均测试过。都出现这样的问题。
config.xml配置如下:
<platform name="ios">
    <allow-intent href="itms:*"/>  
    <allow-intent href="itms-apps:*"/>  
    <hook src="hooks/xcode8.js" type="before_compile"/>  
    <!-- 键盘升起时缩小视图 -->  
    <preference name="KeyboardShrinksView" value="true"/>  
    <!-- 视图缩小时禁止滚动 -->  
    <preference name="KeyboardDisableScrollingInShrinkView" value="true"/>  
    <!-- ios防止整个屏幕滚动 -->  
    <preference name="DisallowOverscroll" value="true"/>  
    <!-- ios输入框focus弹出键盘需要用户确认 -->  
    <preference name="KeyboardDisplayRequiresUserAction" value="false"/>
  </platform>



请问谁遇到过这个坑没有,或者你们开发的app,有没有检查下。(ps:不注意看不到,有时候会自动出现黑框,不需要手动滑)



10

主题

89

帖子

313

积分

中级会员

Rank: 3Rank: 3

积分
313
QQ
 楼主| 发表于 2018-11-26 13:20:08 | 显示全部楼层
window.Keyboard.shrinkView(true);这句话代码里面也试过了。
回复 支持 反对

使用道具 举报

10

主题

89

帖子

313

积分

中级会员

Rank: 3Rank: 3

积分
313
QQ
 楼主| 发表于 2018-11-26 14:56:39 | 显示全部楼层
亦尝试过一个单一页面,里面就一个输入框的实例app。也能重现这个问题。,看样子不是app里面引用插件导致的。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36080
发表于 2018-11-27 16:39:23 | 显示全部楼层
手指滑动的过程中软键盘都是显示状态的?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

10

主题

89

帖子

313

积分

中级会员

Rank: 3Rank: 3

积分
313
QQ
 楼主| 发表于 2018-11-27 20:10:08 | 显示全部楼层
jishuang 发表于 2018-11-27 16:39
手指滑动的过程中软键盘都是显示状态的?

是显示状态,如截图里面一样。我之前开发的app也有这个问题,都没仔细。现在新款app开发过程中测试时会自动弹出部分黑框。。。。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36080
发表于 2018-11-28 13:55:57 | 显示全部楼层
会自动弹出部分黑框?不是滑动生成的?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

10

主题

89

帖子

313

积分

中级会员

Rank: 3Rank: 3

积分
313
QQ
 楼主| 发表于 2018-11-28 14:56:09 | 显示全部楼层
以前没有出现过,现在就是偶尔会自动弹出黑框。当不弹出黑框的时候,用手指去滑,发现能滑出黑框。
,找了很多办法,换了ios不同手机和ios版本,而且测试的是特意建造的单一输入框页面就能复原这个问题。
回复 支持 反对

使用道具 举报

10

主题

89

帖子

313

积分

中级会员

Rank: 3Rank: 3

积分
313
QQ
 楼主| 发表于 2018-12-3 02:51:17 | 显示全部楼层
jishuang 发表于 2018-11-28 13:55
会自动弹出部分黑框?不是滑动生成的?

坛管,有了解决方案,最好是能把该贴置顶:
解决方案-----------
1.添加cordova-plugin-keyboard插件
2.监听事件
window.addEventlistener('keyboardDidShow',functin(){
     window.scrollTo();//这句是最重要,其实是输入框获得焦点后,导致整个窗体上移(输入框位置越往下,出现黑框越高)
});
3.配置文件配置
<preference name="KeyboardShrinksView" value="true" />
<preference name="DisableScrollingWhenKeyboardShrinksView" value="true" />
回复 支持 反对

使用道具 举报

10

主题

89

帖子

313

积分

中级会员

Rank: 3Rank: 3

积分
313
QQ
 楼主| 发表于 2018-12-3 02:58:27 | 显示全部楼层
顺带添加一个异常点,ios中当采用windowdialog打开界面时,如果有输入框,再打开软件盘时,头标题定位在底部,会造成打开的界面只能看到标题栏。
此时只需要:.x-dialog{position:absolute !important}

再有ios下面,如果更换了windowdialog的src,此时缓存不成立,会调用modelload事件。。。。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-12-22 14:29 , Processed in 0.059120 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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