“我报名参加金石方案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之一问一答

摆放视图对齐方位不一致

问:摆放视图的对齐方位不一致,如何运用UIStackView?
答:咱们能够挑选一种适宜的对齐方法保证适用于绝大多数摆放视图,剩余的视图运用UIView进行封装,然后在View中进行束缚布局。

UIStackView之一问一答

摆放视图大小不一致

问:摆放视图的大小不一致,能够用UIStackView吗?
答:能够的,UIStackView中的摆放视图不需要设置方位,至于尺度大小能够依据本身需要设置。(设置方法AutoLayout

灵活多变的UI设计

问:多变的UI设计适合运用UIStackView吗?
答:再适宜不过了,为什么这么说呢,尽管经过AutoLayout能够自适应,来解决灵活多变的UI布局,可是这会有繁琐的代码来控制。而经过运用UIStackView,咱们仅添加一次摆放视图,而后能够经过控制摆放视图的显示或隐藏(hidden)就能使UIStackView从头布局。

列表可用?

问:UIStackView能够用于列表布局吗?
答:能够,运用UIStackView能够快捷的布局简略列表,相比较UITableView较为简略,运用UITableView往往需要设置代理,完成代理等。
具体做法:一般采用UIScrollView + UIStackView,ScrollView控制滚动,StackView办理内容。

UIStackView之一问一答

拉伸、紧缩

问:听说UIStackView能够自适应摆放视图,那么摆放视图假如有拉伸或许紧缩的需求能够运用UIStackView吗?
答:能够,UIStackView会优先依据抗拉伸优先级Content Hugging Priority(优先级越高,越不容易被拉伸)、抗紧缩优先级Content Compression Resistance Priority(优先级越高,越不容易被紧缩)去束缚摆放视图,并不会和StackView布局相冲突。

The end

总而言之,假如你怕麻烦,那就快来运用UIStackView,把麻烦事都交给它。

假如有比较难以理解或许初学者不明白的问题,稍后也会在这收拾。

假如你还没有运用过UIStackView的能够查看我的上篇文章「运用UIStackView来简化iOS的界面布局」。