[发明专利]一种iOS中的视图自动布局方法及装置在审
申请号: | 201710657860.6 | 申请日: | 2017-08-03 |
公开(公告)号: | CN107577490A | 公开(公告)日: | 2018-01-12 |
发明(设计)人: | 黄露洋;陈少杰;张文明 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F8/38;G06F8/20 |
代理公司: | 北京路浩知识产权代理有限公司11002 | 代理人: | 王莹,吴欢燕 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 ios 中的 视图 自动 布局 方法 装置 | ||
技术领域
本发明涉及iOS开发领域,更具体地,涉及一种iOS中的视图自动布局方法及装置。
背景技术
自iOS6以来,自动布局是iOS界面开发中广泛应用的技术,它能使视图根据屏幕尺寸和视图内容进行自动布局。开发者不用根据不同情况计算每个视图的坐标与尺寸,而只需要设置每个视图的约束,布局系统会自动计算每个视图的坐标和尺寸,然后进行布局。
目前,在给视图设置约束时,通常有两种方式。第一种方式是使用iOS的可视化开发工具,通过拖拽的方式给每个视图设置约束。此种方式虽然能预览设置约束后的布局效果,但由于约束信息比较分散,且除了约束信息之外还有很多其他信息,导致不能直观看出每个视图设置的约束。第二种方式是在源代码中通过代码构造约束相关逻辑,此种方式由于代码构造的约束相关逻辑中有很多重复性的代码,约束信息更不直观,且开发效率低。
综上所述,现有的iOS中的视图自动布局方法中约束信息不直观,导致约束信息查看和视图布局修改困难。
发明内容
为克服上述现有的iOS中的视图自动布局方法中约束信息不直观,导致约束信息查看和视图布局修改困难的问题或者至少部分地解决上述问题,本发明提供了一种iOS中的视图自动布局方法及装置。
根据本发明的第一方面,提供一种iOS中的视图自动布局方法,包括:
S1,获取根据约束描述规则所设置的目标视图的约束信息;
S2,对所述约束信息进行解析,根据解析结果对所述目标视图进行布局。
具体地,所述步骤S1具体包括:
使用所述约束描述规则中的线性方程或线性不等式描述目标视图的约束信息,所述约束信息包括所述目标视图、基准视图、所述目标视图和所述基准视图的属性、运算符号、关系符号和常数。
具体地,所述步骤S2具体包括:
对所述约束信息中的运算符号、关系符号、运算、目标视图的属性和基准视图的属性进行解析。
具体地,对所述约束信息进行解析之前还包括:
构造第一函数,以解析所述线性方程中和线性不等式中的关系符号;
构造第二函数,以解析所述线性方程或线性不等式中目标视图的属性和基准视图的属性;
构造第三函数,以解析所述线性方程或线性不等式中的运算符号;
构造第四函数,以解析所述线性方程或线性不等式中的运算;
构造第五函数,以调用所述第一函数、第二函数、第三函数和第四函数对所述约束信息进行解析。
具体地,对所述约束信息中的运算符号进行解析的步骤具体包括:
将所述约束信息中的第一运算符号解析为将所述基准视图的属性值乘以预设常数;
将所述约束信息中的第二运算符号解析为将所述基准视图的属性向右或向下平移;
将所述约束信息中的第三运算符号解析为将所述基准视图的属性向左或向上平移。
具体地,所述目标视图的属性包括left、right、top、bottom、width和height;
所述基准视图的属性包括left、right、top、bottom、width和height;
所述关系符号包括==、=、>=和<=;
所述运算符号包括+、-、*和/。
具体地,所述步骤S2具体包括:
将解析结果封装为约束对象,将所述约束对象添加到所述目标视图的对象中;
根据所述目标视图对象中的约束对象,对所述目标视图进行布局。
根据本发明的第二方面,提供一种iOS中的视图自动布局装置,包括:
获取单元,用于获取根据约束描述规则所设置的目标视图的约束信息;
布局单元,用于对所述约束信息进行解析,根据解析结果对所述目标视图进行布局。
根据本发明的第三方面,提供一种iOS中的视图自动布局设备,包括:
至少一个处理器、至少一个存储器和总线;其中,
所述处理器和存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如前所述的方法。
根据本发明的第四方面,提供一种非暂态计算机可读存储介质,用于存储如前所述方法的计算机程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710657860.6/2.html,转载请声明来源钻瓜专利网。