iOS 约束的思维盲点
2016-01-13 13:24
369 查看
iOS 约束的思维盲点
苹果是这样来描述约束的,当设计师把界面的原稿给开发人员时,会这样描述其上的一个控件,它距离上面的控件的距离是10,左边是10,下面也是10,长度是父view的1/5,并且最小是20,这些个条件就是一个个约束。满足这些约束就可以唯一的确定该控件的布局。设计师用标注来体现这些约束,开发人员是用代码来描述这些约束。
这的确是很好的设计方式,但是有一点,苹果没有搞清楚。
这个控件距离上面控件距离是10,这个上面的控件,是不确定的。设计师表达的是不管上面控件是哪个,本控件都要距离他10,而苹果实现的约束必须要指定这个上面的控件是哪个,这样的话,本控件和上面的控件通过约束关联了起来。如果上面的控件被移除,那么这个约束也就失去了支撑点,因而也要被移除。此时,本控件就不知道该怎么确定自己的布局。
对于这种情况,苹果给出的解决方案是,移除上面的控件后,要手动给本控件再添加一个约束或者事先把这个约束添加好并调低它的优先级。 对于这样的解决方案,我觉得更像是打补丁。
如果一个界面上有很多控件,彼此之间通过约束固定。这个界面布局的确定依赖于每个控件的存在,如果某个控件在一些情况下不存在了,你就要打补丁,如果有一些控件在一些情况下,分别不存在,你就等着哭吧,这里的一些并不需要很多,三个就要你命。
苹果是这样来描述约束的,当设计师把界面的原稿给开发人员时,会这样描述其上的一个控件,它距离上面的控件的距离是10,左边是10,下面也是10,长度是父view的1/5,并且最小是20,这些个条件就是一个个约束。满足这些约束就可以唯一的确定该控件的布局。设计师用标注来体现这些约束,开发人员是用代码来描述这些约束。
这的确是很好的设计方式,但是有一点,苹果没有搞清楚。
这个控件距离上面控件距离是10,这个上面的控件,是不确定的。设计师表达的是不管上面控件是哪个,本控件都要距离他10,而苹果实现的约束必须要指定这个上面的控件是哪个,这样的话,本控件和上面的控件通过约束关联了起来。如果上面的控件被移除,那么这个约束也就失去了支撑点,因而也要被移除。此时,本控件就不知道该怎么确定自己的布局。
对于这种情况,苹果给出的解决方案是,移除上面的控件后,要手动给本控件再添加一个约束或者事先把这个约束添加好并调低它的优先级。 对于这样的解决方案,我觉得更像是打补丁。
如果一个界面上有很多控件,彼此之间通过约束固定。这个界面布局的确定依赖于每个控件的存在,如果某个控件在一些情况下不存在了,你就要打补丁,如果有一些控件在一些情况下,分别不存在,你就等着哭吧,这里的一些并不需要很多,三个就要你命。
相关文章推荐
- iOS开发-----json解析的数据有图片的数据流导致解析失败
- 160113ios 7分割线(separator)不到左边框的问题和去掉底部多余的表格线
- iOS开发——创建你自己的Framework && IOS如何在当前工程中导入另一个工程文件
- iOS Block的基本语法与使用
- iOS 定时执行的方法
- ios kvo 的用法
- 如何在Xcode7.2中添加空模板
- iOS What you need to know
- CocoaPods简介及最新详细使用
- ThinkpadE450开启Intel VT
- netty5笔记-总体流程分析4-NioSocketChannel之服务端视角
- iOS-获取手机唯一标识符(获取苹果手机IMEI,获取苹果手机MAC)
- netty5笔记-总体流程分析4-NioSocketChannel之服务端视角
- 分析iOS Crash文件:符号化iOS Crash文件的3种方法
- iOS性能优化三部曲(中级)
- 仿Ios弹窗效果二
- 仿Ios弹窗效果一
- IOS之同步请求、异步请求、GET请求、POST请求
- IOS导航栏、状态栏颜色设置
- iOS中的delegate的用法和规范