uniapp打包h5页面ios唤起软键盘踩坑

摘要:
网上一阵百度,找到原因:安卓手机中唤起软键盘时页面会压缩webview的高度,窗口会执行resize事件,但ios并不会。网上各种百度,尝试,都失败了,在快放弃时,找到一个可行的。如果对你有帮助,请给个赞,谢谢!

问题:页面有很多input框,上面的input输入框,当虚拟键盘出来时没问题,但是下面的input输入框,就会出现问题,input输入框会跑到键盘后面。

uniapp打包h5页面ios唤起软键盘踩坑第1张uniapp打包h5页面ios唤起软键盘踩坑第2张uniapp打包h5页面ios唤起软键盘踩坑第3张

网上一阵百度,找到原因:安卓手机中唤起软键盘时页面会压缩webview的高度,窗口会执行resize事件,但ios并不会。网上各种百度,尝试,都失败了,在快放弃时,找到一个可行的。直接贴代码:

1 <template>
2     <view     ref="wrapper">
3         <scroll-view  
4             :style="{'height': scrollHeight}"
5              
6             :scroll-y="true">
7             <view class="evaluate-type-list">
8                 <view 
9                       
10                     v-for="(item, index) in options" 
11                     :key="index">
12                     <view class="item-top">
13                         <view class="title">
14 {{item.title}} 
15                             <text class="score">({{item.score}})</text>
16                         </view>
17                         <view class="content">{{item.content}}</view>
18                     </view>
19                     <view class="item-bottom"> 
20                         <view class="content">
21 评价
22                             <input 
23                                 v-model.number="item.evaluateScore"
24                                   
25                                 type="number" 
26                                 placeholder="请输入评价分数" 
27                                 @input="checkScore(item)"
28                                 @focus="focusInput"
29                                 @blur="blurInput"
30                                 placeholder-  />
31                         </view>
32                         <view   v-if="item.isErr">{{item.errTip}}</view>
33                     </view>
34                 </view>
35             </view>
36             <button   @tap="submit">确定</button>
37         </scroll-view>
38     </view>
39 </template>
40 
41 <script>
42     export default{
43 data() {
44             return{
45                 scrollHeight: 'calc(100vh - 20upx)',
46 }
47 },
48 methods: {
49 focusInput() {
50                 //获取系统信息
51                 let info =uni.getSystemInfoSync();
52                 if(info.platform === 'ios') {
53                     setTimeout(() =>{
54                         let viewInfo = this.$refs.wrapper.$el.getBoundingClientRect();
55                         //获取视图偏移量,重新定位操作栏
56                         this.bottomVal =Math.abs(parseFloat(viewInfo.top))
57                         //重置编辑区高度
58                         this.scrollHeight =  `calc(100vh - ${98 + this.bottomVal}px )`
59                     }, 500)
60 }
61 },
62 blurInput() {
63                 this.scrollHeight = 'calc(100vh - 180upx)';
64 },
65             
66 }
67 }
68 </script>
69 
70 <style lang="scss" scoped>
71 </style>

终于解决困扰一个星期的问题。如果对你有帮助,请给个赞,谢谢!

免责声明:文章转载自《uniapp打包h5页面ios唤起软键盘踩坑》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇c/c++语言实现tesseract ocr引擎编程实例Linux内核:关于中断你需要知道的下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

HTML页面过渡效果大全

IE要求:  在IE5.5及以上版本的浏览器中.启用网页过渡效果  默认情况下都已经启用了,如果需要手动启用则只需在Internet选项中: Advanced(高级) - Browsing(浏览) - Enable page transitions(启用页面过渡)即可。应用过渡效果  当我们需要添加过渡效果时,只需在<head>中添加一个特殊的...

winform语音提示

1 public static class voiceHelper 2 { 3 public static System.Speech.Synthesis.SpeechSynthesizer synth; 4 /// <summary> 5 /// 语音提示 6...

关于android中EditText边框的问题 下划线

方法1   将edittext的style设置成?android:attr/textViewStyle 取消掉默认的样式,在设置background为@null 接下来就是一个空空的edittext了, 在两个edittext中间加一个view,设置background为灰色,宽度match_parent,高度2dip看看。 如果可以了就采纳吧。不行的话...

【Unity优化】资源管理系列05:AssetBundle 常见问题

1、资源重复 1)资源打包进哪个AB,由三种方式决定 ① 在Editor中被明确指定AB名称:只打进指定名称AB中 ② 通过BuildPipeline方法指定AB名称:只打进指定名称AB中,且覆盖方法① ③ 没有指定AB名称:任何引用该资源的AB包,都将包含一份该资源的复制 2) 没有指定AB名称细节 ① 资源的多份复制被打包进不同AB后,每份复制被视为不...

Jquery和JS获取ul中li标签

js 获取元素下面所有的li var content=document.getElementById("content"); var items=content.getElementsByTagName("ul"); var itemss=items[2].getElementsByTagName("li");//获取第二个li标签 或 var div=d...

Android 源代码自动编译packages/apps

/*************************************************************************** * Android 源代码自动编译packages/apps * 说明: * 有时候自己编写了一些测试软件,可能会希望自动编译到Android系统中...