一种iOS界面快速布局策略制造技术

技术编号:17561548 阅读:25 留言:0更新日期:2018-03-28 12:07
本发明专利技术涉及一种iOS界面快速布局策略,包括如下步骤:步骤1,接收用户发出的布局指令;步骤2,解析布局指令,至少获取以下信息:相对兄弟视图布局信息,相对父视图布局信息,布局参数信息;步骤3,调用布局中心;步骤4,布局中心获得布局参数信息,布局中心持有父视图用于布局;步骤5,处理x,y方向偏移数据,产生视图attribute模块,将相应信息存入attribute模块;步骤6,attribute模块将信息进行整合计算;步骤7,通过Constraint模块,对数据进行归一化处理,归一化处理后得到视图真正布局信息。本发明专利技术,流程清晰,处理效率高,层次明确,能有效简化布局代码及布局效率,实现快速布局,满足对更高开发效率的追求,易于调试和纠错。

A fast layout strategy for iOS interface

The invention relates to a fast iOS interface layout strategy, which comprises the following steps: Step 1, layout to receive instructions issued by the user; step 2, parse layout instructions, at least get the following information: the relative brothers view layout information, relative to the parent view layout information, layout parameter information; step 3, step 4, call center layout; the layout of center layout parameters, layout center holds a parent view for layout; step 5, x, Y direction data, view the attribute module, the corresponding information stored in attribute module; step 6, the attribute module will be integrated to calculate information; step 7, through the Constraint module, the data is normalized, normalized get real view layout information. The invention has the advantages of clear process, high processing efficiency and clear layouts, which can effectively simplify the layout code and layout efficiency, achieve fast layout, satisfy the pursuit of higher development efficiency, and are easy to debug and correct.

【技术实现步骤摘要】
一种iOS界面快速布局策略
本专利技术涉及iOS中UI布局
,具体说是一种iOS界面快速布局策略。
技术介绍
UI布局对于iOS开发者来说并不陌生,iOS有三种基本的界面布局的方法,分别是手写UI,xib和storyboard。现在已经不像以前那样只有一个尺寸(指屏幕),现在最少的IPHONE开发至少要适配三个尺寸。因此以前我们可以使用硬坐标去设定各个控件的位置,但是现在的话已经不可以了,我们需要去做适配,也许你说可以使用两套UI或两套以上的UI,但那样不高效也不符合设计。手写UI是最早进行UI界面布局的方法,优点是灵活自由,缺点是需要写大段的代码进行布局。例如:使用AutoresizingMask进行页面布局,在UIView中有一个AutoresizingMask的属性,它对应的是一个枚举的值,属性的意思就是自动调整子控件与父控件中间的位置,宽高。默认值是UIViewAutoresizingNone,控件不会随父视图的改变而改变。AutoresizingMask是对未来变化的一种预期,系统会生成Frame的布局,Frame(框架)指的是当前视图在其父视图中的位置和大小。xib是比较早出现的UI布局的方式,优点是不需要手写代码,但是每个界面对应一个xib,管理起来复杂。storyboard是在iOS5以后出现的,是苹果官方主推的一个代替xib的策略,不仅能将xib汇总统一管理,还可以描述各种场景之间的过渡,缺点是多人协作开发时容易产生冲突。在iOS6之前,基本都是通过UI控件的Frame属性和AutoresizingMask来进行UI布局的。在iOS6时,苹果公司推出一种基于约束的、描述性的布局系统AutoLayout。自从AutoLayout问世以来,逐步得到了iOS开发者们的青睐,尤其是iPhone6机型尺寸的出现,让AutoLayout从此当上UI布局界的老大。AutoLayout占据UI布局的主要领导位置依赖于它的特殊性:1).基于约束:和以往定义Frame的位置和尺寸不同,AutoLayout的位置确定是以所谓相对位置的约束来定义的,比如x坐标为superView的中心,y坐标为屏幕底部上方10像素等。2).描述性:约束的定义和各个view的关系使用接近自然语言或者可视化语言的方法来进行描述。3).布局系统:即字面意思,用来负责界面的各个元素的位置。总而言之,AutoLayout为开发者提供了一种不同于传统对于UI元素位置指定的布局方法。以前,不论是在IB里拖放,还是在代码中写,每个UIView都会有自己的Frame属性,来定义其在当前视图中的位置和尺寸。使用AutoLayout的话,就变为了使用约束条件来定义view的位置和尺寸。这样的最大好处是一举解决了不同分辨率和屏幕尺寸下view的适配问题,另外也简化了旋转时view的位置的定义,原来在底部之上10像素居中的view,不论在旋转屏幕或是更换设备(iPad或者iPhone5或者以后可能出现的miniiPad)的时候,始终还在底部之上10像素居中的位置,不会发生变化。总的来说:使用约束条件来描述布局,view的Frame会依据这些约束来进行计算。但是,UI布局还有进一步优化的空间,本专利技术就侧重于如何实现一句话布局,即一条代码指令完成快速布局。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种iOS界面快速布局策略,流程清晰,处理效率高,层次明确,能有效简化布局代码及布局效率,实现快速布局,满足对更高开发效率的追求,易于调试和纠错。为达到以上目的,本专利技术采取的技术方案是:一种iOS界面快速布局策略,其特征在于,包括如下步骤:步骤1,接收用户发出的布局指令;步骤2,解析布局指令,至少获取以下信息:相对兄弟视图布局信息,相对父视图布局信息,布局参数信息;步骤3,调用布局中心;步骤4,布局中心获得布局参数信息,布局中心持有父视图用于布局;步骤5,处理x,y方向偏移数据,产生视图attribute模块,将相应信息存入attribute模块;步骤6,attribute模块将信息进行整合计算;步骤7,通过Constraint模块,对数据进行归一化处理,归一化处理后得到视图真正布局信息。在上述技术方案的基础上,所述布局参数信息,至少包括:布局大小信息,布局种类信息,相对于兄弟视图信息,相对于父视图信息,页面位置信息,页面大小信息。在上述技术方案的基础上,还包括以下步骤:步骤8,设置视图布局属性;步骤9,根据视图真正布局信息,开始布局。在上述技术方案的基础上,所述视图真正布局信息,采用链式布局方式,包括供链式布局函数调用的信息。在上述技术方案的基础上,所述供链式布局函数调用的信息具体包括:相对兄弟视图布局,相对父视图布局;位置相关函数;大小相关函数;其他函数。本专利技术所述的iOS界面快速布局策略,流程清晰,处理效率高,层次明确,能有效简化布局代码及布局效率,实现快速布局,满足对更高开发效率的追求,易于调试和纠错。附图说明本专利技术有如下附图:图1本专利技术的流程图。具体实施方式以下结合附图对本专利技术作进一步详细说明。本专利技术所述的iOS界面快速布局策略,分为3种布局方式,分别为:相对于角布局,相对于边布局,相对于兄弟布局。在相对于角布局中,左上角为PPCornerTopLeft,右上角为PPCornerTopRight,左下角为PPCornerBottomLeft,右下角为PPCornerBottomRight。代码如下:/***Specifiesacornerofaframe.*/typedefNS_ENUM(NSUInteger,PPCorner){/***Theupper-leftcorneroftheframe.*/PPCornerTopLeft,/***Theupper-rightcorneroftheframe.*/PPCornerTopRight,/***Thebottom-leftcorneroftheframe.*/PPCornerBottomLeft,/***Theupper-rightcorneroftheframe.*/PPCornerBottomRight,};在相对于边布局中,上边为PPEdgeTop,下边为PPEdgeBottom,左边为PPEdgeLeft,右边为PPEdgeRight。代码如下:/***Specifiesanedge,orface,ofaframe.*/typedefNS_ENUM(NSUInteger,PPEdge){/***Thetopedgeoftheframe.*/PPEdgeTop,/***Theleftedgeoftheframe.*/PPEdgeLeft,/***Thebottomedgeoftheframe.*/PPEdgeBottom,/***Therightedgeoftheframe.*/PPEdgeRight,};在相对于兄弟布局中,匹配基准为顶边,匹配原则为alignToTheRightMatchingTop。指定视图相对于兄弟视图的对齐方式。代码如下:/***Specifieshowaviewwillbealignedrelativetothesiblingview本文档来自技高网
...
一种iOS界面快速布局策略

【技术保护点】
一种iOS界面快速布局策略,其特征在于,包括如下步骤:步骤1,接收用户发出的布局指令;步骤2,解析布局指令,至少获取以下信息:相对兄弟视图布局信息,相对父视图布局信息,布局参数信息;步骤3,调用布局中心;步骤4,布局中心获得布局参数信息,布局中心持有父视图用于布局;步骤5,处理x,y方向偏移数据,产生视图attribute模块,将相应信息存入attribute模块;步骤6,attribute模块将信息进行整合计算;步骤7,通过Constraint模块,对数据进行归一化处理,归一化处理后得到视图真正布局信息。

【技术特征摘要】
1.一种iOS界面快速布局策略,其特征在于,包括如下步骤:步骤1,接收用户发出的布局指令;步骤2,解析布局指令,至少获取以下信息:相对兄弟视图布局信息,相对父视图布局信息,布局参数信息;步骤3,调用布局中心;步骤4,布局中心获得布局参数信息,布局中心持有父视图用于布局;步骤5,处理x,y方向偏移数据,产生视图attribute模块,将相应信息存入attribute模块;步骤6,attribute模块将信息进行整合计算;步骤7,通过Constraint模块,对数据进行归一化处理,归一化处理后得到视图真正布局信息。2.如权利要求1所述的iOS界面快速布局策略,其特...

【专利技术属性】
技术研发人员:邱扬
申请(专利权)人:北京酷我科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1