appcan tabview+frame或者openMultiPopover在ios下的屏幕适配问题
来源:互联网 发布:tomcat启动端口被占用 编辑:程序博客网 时间:2024/05/18 10:31
采用tabview+frame设计页面有很多好处,比如一次可以预加载多个页面,用户操作时比较流畅,也可以开启左右滑动,和原生体验一样,在安卓上实现出来,效果还是不错的,在适配IOS的时候遇到问题,和安卓里同样的尺寸测量方法,在ios里显示的页面要大很多,高度和宽度都大。经过不断测尝试,发现iphone5/5s/ 6/6s/7 高度和宽度都需要除以2,
而6/6s/7 plus则需要除以3,才能正确显示。还有一个问题,frame.open方法只能指定窗口显示的位置,不能指定高度,这样如果底部的footer和tabview就会被顶处屏幕底部,只能使用window.openMultiPopover来实现,核心的东西就这些,上代码:
页面代码:
<div class="bc-bg" tabindex="0" data-control="PAGE" id="Page_HPbCr2"> <div data-control="CONTENT" id="content"> </div> </div> <div class="uf sc-bg ubt sc-border-tab" data-control="FOOTER" id="Footer_urStjf"> <div class="" data-control="TAB" id="Tab_bkYbpa"> </div> </div>页面代码就这么多,底部一个footer包含一个tab,上面是个content容器,用来显示frame或者openMultiPopover窗口内容,我的子页面都是自己实现的头部,所以这里头部的header也没有了。
下面是干货:
(function($) { var tabview_Tab_eryaGA = appcan.tab({ selector: $("#Tab_bkYbpa"), hasIcon: true, hasAnim: false, hasLabel: true, hasBadge: false, index: 0, data: [{ "label": "首页", "icon": "icon1" }, { "label": "页面1", "icon": "icon2" }, { "label": "页面2", "icon": "icon3" }, { "label": "页面3", "icon": "icon4" }] }); tabview_Tab_eryaGA.on("click",function(obj, index){ appcan.window.selectMultiPopover("content",index); //切换tab时页面同步切换 }); appcan.ready(function() { var titHeight = $('#Footer_urStjf').offset().height; var conHeight = $('#Page_HPbCr2').offset().height; var height = (conHeight-titHeight)/3; if(conHeight == 1334){ //iphone6上测量的高度 height = (conHeight-titHeight)/2; }else if(conHeight == 2001){ //plus上测量的高度 height = (conHeight-titHeight)/3; }else{ height = (conHeight-titHeight)/2;//5s本来以为不一样,实际和6是一样的 } appcan.window.openMultiPopover({ popName:'content', content:{ 'content':[{ "inPageName" : "index2", "inUrl" : "index2.html" },{ "inPageName" : "artist", "inUrl" : "1.html" },{ inPageName:'personal-tailor', inUrl:'2.html', },{ "inPageName" : "personal", "inUrl" : "3.html" }] }, left:0,//屏幕顶端开始 height:0, height:height,//指定高度 底部有footer dataType:0, flag:0, indexSelected:0, change:function(err,res){ tabview_Tab_eryaGA.moveTo(res.multiPopSelectedIndex);//左右滑动切换页面时 tab同步切换 } }); }); })($);
实现效果如下:阅读全文
0 0
- appcan tabview+frame或者openMultiPopover在ios下的屏幕适配问题
- iOS 屏幕适配frame 宏
- iOS----计算某个视图在屏幕上的frame
- iOS屏幕适配问题
- iOS开发-OC中TabView的编辑
- iOS tabview自带的横线左边少15像素的问题
- 关于IOS屏幕frame bounds
- 解决在项目里引入Spring Security后iframe或者frame所引用的页无法显示的问题
- ios 屏幕分辨和适配的问题
- iOS关于适配屏幕的问题_1
- iOS关于适配屏幕的问题_2
- iOS 开启个人热点后屏幕的适配问题
- iOS Autolayout情况下,ViewController嵌套时,childViewController的Frame异常问题
- 关于Android设备下的屏幕适配问题
- IOS屏幕的适配
- iOS中屏幕适配问题
- ios 11 屏幕适配问题!
- appcan.windw.open appcan.frame.open appcan.window.openPopOver evaluateScript
- java值传递一瞥
- Android N 多窗口模式
- Python将数据写入netCDF4中
- 一周 Bugs
- easyUI前台分页的实现
- appcan tabview+frame或者openMultiPopover在ios下的屏幕适配问题
- VC++ UDP网络控制台程序
- USACO-Section2.2 Subset Sums
- malloc函数和free函数
- Wireshark 抓包分析 RTSP/RTP/RTCP 基本工作过程
- 老罗不跟罗振宇玩了,8月最好看的电影 | 数据周报
- JavaScript浮点数(加,减,乘,除)方法
- ios自绘UIView进度条及刷新重影解决
- java并发编程