如何从大小创建一个矩形?

时间:2016-03-11 15:17:40

标签: swift cgrect

最终,我正在尝试检索动态UIScrollView的contentSize。

我在这个循环中这样做:

    var contentRect = CGRectZero
    for view: UIView in self.scrollView.subviews {
        var size : CGSize = (view.text?.sizeWithAttributes([NSFontAttributeName: UIFont.systemFontOfSize(14.0)]))
        contentRect = CGRectUnion( contentRect, CGRectMake(size) )
    }
    scrollView.contentSize = contentRect

虽然循环体在语法上是不正确的。这是因为您无法使用变量CGRectMake生成size

有谁知道我怎么能正确地创造这个形状?是否有更好的方法来重构此代码以使其更优雅?

1 个答案:

答案 0 :(得分:1)

您需要添加x和y坐标才能正常工作。应该是这样的:

var contentRect = CGRectZero
for view: UIView in self.scrollView.subviews {
    var size : CGSize = (view.text?.sizeWithAttributes([NSFontAttributeName: UIFont.systemFontOfSize(14.0)]))
    let rect = CGRectMake(0, 0, size.width, size.height)
    contentRect = CGRectUnion( contentRect, rect )
}
scrollView.contentSize = contentRect