【问题标题】:Set Frame Not Sizing UIView Correctly设置没有正确调整 UIView 大小的框架
【发布时间】:2016-03-24 20:39:18
【问题描述】:

我一定遗漏了与框架和/或自动布局相关的内容...我通过 xib 文件(1 个 UIImageView 和 2 个标签)在 UIScrollView 中多次加载一个简单视图(技术上在单个“内容”中)在滚动视图中查看),但是当我加载它并尝试设置框架时,大小与我指定的不匹配。我希望每个视图都是 250 像素 x 200 像素,这是我的代码...

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 像素宽——我添加了一个半透明的橙色背景来进行说明。我明确指定它们是 250px 宽,为什么会这样?故事板的其余部分使用自动布局,并且这些视图没有约束 - 我需要以编程方式添加一堆约束吗?

【问题讨论】:

  • 你把那段代码放在哪里了? viewdidload?
  • 我的代码在viewWillAppear

标签: ios swift uiview uiscrollview xib


【解决方案1】:

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

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

UICollectionView Tutorial

UICollectionView Basics

【讨论】:

  • 很棒的电话。不敢相信我没有想到这一点 - 我实际上在应用程序的另一个区域使用 UICollectionView。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2014-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多