iOS放弃使用autolayout

autolayout是一套基于约束构建的布局系统,这是我见过弄得最复杂的布局架构设计。

关于放弃基于autolayout使用有如下几点考虑:

1、布局不论出现任何异常都不应该程序崩溃。而使用autolayout有时候你防不胜防,这显然是增加程序员的负担。

2、我更加偏向分而治之的思想设计。比如横屏,竖屏,iOS,macOS.....这些本就应该有不同的设计,而不是提供一个更加抽象层的约束系统去解决这所有的问题。

3、也用过masonry,snapkit,在语法层面上更加省心,当然也是基于autolayout这一套之上的。

4、在过去用过几个我认为最省心的布局系统。从xcode9开始的StackView其实就经常发现苹果慢慢会放弃autolayout。

       1、QT (水平布局类QHBoxLayout;垂直布局类QVBoxLayout;网格布局类QGridLayout;使用表格布局类QFormLayout;分组布局类QStackLayout)2、前端常用的 flexbox 

5、从2014年新手学swift2.x开始,一个电商项目中我使用传统的frame坐标布局,除了在调试不能像autolayout这样可视化之外,代码从iOS 7.xx到目前iOS 11.xx 没有任何变化可以做到全兼容。

目前我使用的方式是复杂界面我使用类似frame/flexbox布局,而简单的界面我偏向使用masonry,snapkit之类的。

 

你可能感兴趣的:(IOS)