有一个UIScrollView,我想以编程方式将子视图放入其中。没关系,但我怎么能自动将子视图放在一起呢? 提前谢谢!
答案 0 :(得分:1)
子视图的位置由他们的frame
属性决定。所以你需要设置它们的框架,使它们排列在一起。
如果它们的大小相同,则可以使用一些简单的数学运算CGRectMake()
。如果它们具有不同的大小,您可以使用CGRectDivide()
将大型矩形分成较小的区域。 CGRectInset()
也很有用,如果你想要它们之间有一些填充。
答案 1 :(得分:1)
你做不到。 UIKit中的视图层次结构 - 与大多数UI框架中的视图层次结构一样 - 使用显式布局。
您的评论询问类似HTML的浮动; HTML / CSS使用的盒子模型设计用于提供与UIKit非常不同的目标(流动文档布局),因此框架中没有真正的类比。
UIViews 做支持在父视图的调整大小/帧更改时自动重新布局(您可以说子视图是否应该调整大小,如何以及应该“固定”到哪里),通过自动调整掩码属性,但我认为这不是你所要求的。
如果您愿意,可以构建一组方法,可能作为UIView上的一个类别,让您添加基于现有子视图自动调整其帧起源的子视图。