1.性能的提升
多说无益,图表最具说服力
下面的图表是在iPhone6真机设备上用MyLayout和frame以及AutoLayout进行构建和布局的时间对比表格,里面的数据是每个视图的构建时间和布局时间,单位都是毫秒:


从上面的表格中我们得出如下结论:



MyLayout的平均构建时长约0.150ms,比frame构建要多花费2.2倍的时间;而AutoLayout的平均构建时长是MyLayout的1.26倍;Masonry的平均构建时长则是MyLayout的1.9倍。




如果我们使用SB或者XIB进行布局时那么整个布局的时长还要包括对XML格式文件的解析的时间因此,虽然SB或者XIB进行布局方便但是消耗的时间是最多的。
2.RTL的支持
所谓RTL方向布局就是right to left direction。也就是界面中的元素总是按从右往左的方向进行排列布局,大部分国家的书写以及排列习惯都是从左往右,是LTR方向布局,而对于一些阿拉伯国家,文字的书写以及展示的顺序都是从右往左方向的,下面的两张图片展示了阿拉伯国家的界面展示效果。


苹果在iOS9中对RTL进行了全面的支持。而MyLayout和TangramKit这次新升级的版本对RTL的支持可是没有任何版本限制的。为了实现对RTL的支持我们在水平方向提出了leading和trailing的概念,中文就是理解为头部和尾部。当您是LTR方向布局时leading就是代表的左边而trailing则是代表的右边;而当您是RTL方向布局时leading就代表的是右边而trailing则代表的是左边。通过这个新定义的概念您就不需要担心在进行国际化布局时指定方向了。下面是MyLayout中对RTL支持的一些效果。

为了实现RTL的支持您只需要将MyLayout的一个全局属性isRTL设置为YES或者NO就行了,通过这个属性可以很方便的切换布局的方向了。
最后欢迎大家关注我的iOS界面布局库:
MyLayout: https://github.com/youngsoft/MyLinearLayout
TangramKit: https://github.com/youngsoft/TangramKit