最终,我正在尝试检索动态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
。
有谁知道我怎么能正确地创造这个形状?是否有更好的方法来重构此代码以使其更优雅?
答案 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