[发明专利]一种基于UIScrollView的iOS界面简化布局方法在审
申请号: | 201811514341.5 | 申请日: | 2018-12-11 |
公开(公告)号: | CN109558201A | 公开(公告)日: | 2019-04-02 |
发明(设计)人: | 许华堂;沈翔宇 | 申请(专利权)人: | 南威软件股份有限公司 |
主分类号: | G06F9/451 | 分类号: | G06F9/451 |
代理公司: | 泉州市文华专利代理有限公司 35205 | 代理人: | 陈智海 |
地址: | 362000 福建省*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 子视图 页面布局 展示效果 滑动 混乱 展示 保证 | ||
本发明涉及一种基于UIScrollView的iOS界面简化布局方法,其通过为container添加约束,并将container的上、下、左、右和contentSize的距离为0,在布局时,通过确定container的大小与位置,就可以确定contentSize的大小,最后根据contentSize进行各个子视图的展示,就可以保证各个子视图的展示效果,避免出现页面布局混乱或不能滑动的现象。
技术领域
本发明涉及iOS中UI布局技术领域,具体说是一种基于UIScrollView的iOS界面简化布局方法。
背景技术
Autolayout(自动布局)改变了传统的以frame(某个视图的大小,包括起始位置)为主的布局思想,它是一种相对布局,核心思想是视图与视图之间的位置关系。比如,我们可以根据矩形的起始横坐标、纵坐标、长和宽这四个变量确定它的位置。或者,如果已经确定矩形A的位置,只要知道矩形B每条边的和A对应边之间的距离,也能确定B的位置。前者就是frame的思想,它基于绝对数值,而后者是Autolayout的思想,它基于偏移量的概念。
UIScrollView(iOS系统的滑动滚动视图)有自己的frame也就是我们在屏幕上能看到的区域,它还有一个contentSize(UIScrollView的大小)的概念。在使用frame布局的时候,我们一般先设置好子视图的位置,最后再设置contentSize,它会将所有的子视图包含在内,于是通过滑动,我们就可以在有限的布局中,看到所有的内容了。
在Autolayout时代,为了简化布局,我们希望contentSize能够自动设置。比如有一个UIScrollView,它有AB两个子视图。frame分别为A(x:0,y:0,width:10,height:10)和B(x:10,y:0,width:10,height:10),那么我们自然会认为这两个视图左右并排排列,contentSize为(x:0,y:0,width:20,height:10):如图1可自动计算contentSize。
这种把若干个子视图合并,得出contentSize的能力,人类是天生具备的,但是计算机却不是这样。仅凭以上信息,程序无法推断出真正的contentSize。原因在于,我们没有明确的告诉系统,在这两个子视图拼接而成的区域以外,还有没有区域应该被contentSize包含。也就是contentSize也有可能是图2中描述的阴影部分。
如果需要指定contentSize就是两个正方形拼接而成的区域,我们还需要提供四个信息:
左边的正方形的左侧的边,距离contentSize左边的距离为0;
右边的正方形的右侧的边,距离contentSize右边的距离为0;
两个正方形顶部的边,距离contentSize顶部边的距离为0;
两个正方形底部的边,距离contentSize底部边的距离为0;
通过以上的分析,我们可以看到contentSize是依赖于子视图自身的大小,和上下左右四个方向的留白大小计算出的。而UIScrollView的leading/trailing/top/bottom是相对于它的contentSize而不是bounds来确定的。
根据UIScrollView的leading/trailing/top/bottom来确定子视图的位置,而通过分析,UIScrollView的leading/trailing/top/bottom是相对于自己的contentSize而言的,而contentSize又是根据子视图位置决定的。也就是说,contentSize无法确定,从而造成视图无法按预期效果进行展示,导致页面布局错乱或不能滑动。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南威软件股份有限公司,未经南威软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811514341.5/2.html,转载请声明来源钻瓜专利网。