swift - 如何根据尺寸创建矩形?

标签 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

但是循环体在语法上是不正确的。这是因为您无法使用变量 size 创建 CGRectMake

有人知道我如何正确创建这个形状吗?有没有更好的方法来重构这段代码,使其更加优雅?

最佳答案

您需要添加 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

关于swift - 如何根据尺寸创建矩形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35943770/

相关文章:

ios - 如何设置 uitextfield 以便用户键入的内容必须满足特定条件(即大写、数字等)?

swift - 在 Swift 中,导航栏消失并且永远不会回来

objective-c - 尝试在 UIView 中绘制

iOS:热点指示器抛出的 View 定位

xcode - 如何在 Swift 2 中制作按钮自定义形状的框架

ios - 当用户点击带有 `UITableView` 的单元格时,在 `UITextField` 上添加自动完成列表/表格

uitableview - ios7.1模拟器中Swift重用cells,cells被隐藏

ios - 如何使用 Swift 在我的应用程序中使用 SwiftMessage cocoapod?

swift - 用于沙盒测试的连续登录对话框

ios - 检查图像中是否存在有孔的重叠图像