“我报名参加金石方案1期挑战——瓜分10万奖池,这是我的第2篇文章,点击查看活动概况”
前言
此篇文章作为在运用UIStackView前的一些答疑,既是扫盲篇,也是有用篇,以下会讲述一些有用的事例,意图便是让更多的人拥抱UIStackView。一起欢迎小伙伴经过谈论区讲讲运用StackView遇到的问题。
答疑
摆放视图距离大小不一
问:摆放视图距离大小不一,能够用UIStackView吗?
答:当然能够用,UIStackView尽管有space属性,可是适用于所有的摆放视图,假如想要指定某个摆放视图之间的距离,有以下两种办法:
- 运用
- (void)setCustomSpacing:(CGFloat)spacing afterView:(UIView *)arrangedSubview API_AVAILABLE(ios(11.0),tvos(11.0));
办法,不过这个办法有版本的限制。 - 运用一个UIView进行填充;即在需要间隙的方位插入一个空的view,并设置好其宽度或高度来充任两个摆放视图的距离。
摆放视图对齐方位不一致
问:摆放视图的对齐方位不一致,如何运用UIStackView?
答:咱们能够挑选一种适宜的对齐方法保证适用于绝大多数摆放视图,剩余的视图运用UIView进行封装,然后在View中进行束缚布局。
摆放视图大小不一致
问:摆放视图的大小不一致,能够用UIStackView吗?
答:能够的,UIStackView中的摆放视图不需要设置方位,至于尺度大小能够依据本身需要设置。(设置方法AutoLayout
)
灵活多变的UI设计
问:多变的UI设计适合运用UIStackView吗?
答:再适宜不过了,为什么这么说呢,尽管经过AutoLayout
能够自适应,来解决灵活多变的UI布局,可是这会有繁琐的代码来控制。而经过运用UIStackView
,咱们仅添加一次摆放视图,而后能够经过控制摆放视图的显示或隐藏(hidden)
就能使UIStackView
从头布局。
列表可用?
问:UIStackView能够用于列表布局吗?
答:能够,运用UIStackView能够快捷的布局简略列表,相比较UITableView较为简略,运用UITableView往往需要设置代理,完成代理等。
具体做法:一般采用UIScrollView + UIStackView
,ScrollView控制滚动,StackView办理内容。
拉伸、紧缩
问:听说UIStackView能够自适应摆放视图,那么摆放视图假如有拉伸或许紧缩的需求能够运用UIStackView吗?
答:能够,UIStackView会优先依据抗拉伸优先级Content Hugging Priority
(优先级越高,越不容易被拉伸)、抗紧缩优先级Content Compression Resistance Priority
(优先级越高,越不容易被紧缩)去束缚摆放视图,并不会和StackView布局相冲突。
The end
总而言之,假如你怕麻烦,那就快来运用UIStackView,把麻烦事都交给它。
假如有比较难以理解或许初学者不明白的问题,稍后也会在这收拾。
假如你还没有运用过UIStackView的能够查看我的上篇文章「运用UIStackView来简化iOS的界面布局」。