iOS视图间的最小距离如何在Auto Layout 下进行设置?
2015-12-30 16:47
375 查看
在iOS应用开发中,我们常常需要调整、设置视图间的距离,对于iOS老鸟来说,这可能soeasy,但是对于初学者而言,还是比较恼火。今天小编就为大家分享一个在Auto Layout 下设置两个视图间最小间距的方法,对这个设置还不是很了解的亲,赶紧看起来吧~~
首先,我们先做个假设,如果现在要在某个视图(view)中放置三个子视图(subviews),其中两个子视图放置在上方,第三个视图紧挨着它们放到下方。不过上方的两个视图高度不定,并且你不知道哪个更高一些,而且现在要求使用自动布局(Auto Layout)来控制下方视图和上方视图之间间距至少 10 单位像素。那么问题来了,这个怎么实现呢??
其实,实现上述假设中所描述的功能很简单,直接使用不等式约束条件 (inequality) 以及设置约束优先级 (priority)即可。具体的相关约束如下:
// 注意约束使用不等式 >=,以及设置优先级
leftViewConstraints+=NSLayoutConstraint.constraintsWithVisualFormat("V:[red(50)]-(>=10)-[green]",options: [], metrics: nil, views: leftViews)
leftViewConstraints+= NSLayoutConstraint.constraintsWithVisualFormat("V:[blue(100)]-(>=10)-[green]",options: [], metrics: nil, views: leftViews)
leftViewConstraints+=NSLayoutConstraint.constraintsWithVisualFormat("V:[blue(100)]-(<=10@999)-[green]",options: [], metrics: nil,
4000
views: leftViews)
上方两个视图与底部视图的最小间距不能小于 10(这里约束优先级默认是 1000)。此外蓝色视图与底部视图的最大间距不得大于 10 ,其优先级为 999。
通过上述设置,就可以得到下图所示的结果。左侧图片中,蓝色视图的高度为 100 单位像素,红色视图高度为 50 单位像素。 右侧图片则刚刚相反。
以上就是在 Auto Layout 下设置两个视图之间的最小间距的方法,建议大家可以按照上述方法,自己实现下,看看效果是否和文中的一样一样。
相关文章:《iOS中NSThread多线程如何使用?》
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 氪周刊:关注互联网创业
- 据说程序员才会看懂的趣图……
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 数据中心和云未来的十二大趋势
- 《互联网运营智慧》十一月进展
- 互联网业内的迷雾 谨慎选择虚拟主机
- 互联网应用广泛 电子商务正当时
- 风雨历练十四年 互联网引领信息化
- 观察:中小网站将渐渐成为互联网的主角
- 互联网迅猛崛起 IDC能否迎来发展高峰期
- 讲解iOS开发中基本的定位功能实现
- js判断客户端是iOS还是Android等移动终端的方法