设置框架未正确调整 UIView 的大小

Set Frame Not Sizing UIView Correctly

我一定是遗漏了一些与框架相关的东西 and/or 自动布局...我在一个 UIScrollView 中(技术上在一个滚动视图中的单个 "content" 视图),但是当我加载它并尝试设置框架时,大小与我指定的不匹配。我希望每个视图都是 250px x 200px,这是我的代码...

var i: CGFloat = 0
for package in packageList {
    let view = UINib(nibName: "PackageDetail", bundle: nil).instantiateWithOwner(nil, options: nil)[0] as! UIView
    view.frame = CGRectMake((i * 250), 0, 250, 200)
    self.scrollSubView.addSubview(view)
    i++
}

这是我得到的 - 看起来每个视图间隔 250 像素(根据需要),但它们更像是 420 像素宽 - 我添加了一个半透明的橙色背景作为插图。我明确指定它们的宽度为 250 像素,为什么会这样?故事板的其余部分使用自动布局,这些视图没有约束 - 我需要以编程方式添加一堆约束吗?

这不是您问题的答案,但我相信您应该使用 UICollectionView 来代替这个问题。

通过使用 UICollectionView,您可以通过 UIScrollView 和子视图实现您想要实现的目标。

UICollectionView Tutorial

UICollectionView Basics