【发布时间】:2016-12-21 07:03:38
【问题描述】:
这是一个关于某些有效但可以写得更好的快速问题。我有一个UIScrollView 和一个放置在里面的对象列表,一个在另一个之下。一切都在viewDidLoad() 期间完成,对象的放置使用Auto Layout。这是我将UIScrollView 的contentSize 高度设置为适当值的方法。
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
globalView.contentSize = CGSize(width: globalView.frame.width,
height: globalView.frame.height * 1.59)
}
它有效,但任意值 1.59 显然是由我尝试了一些可能的值决定的。 在这种情况下计算 contentSize 的正确方法是什么?我正在以编程方式进行所有操作。 在网上搜索并没有让我得到任何简单而明确的答案,所以即使这可能是一个有些重复的问题,我还是决定重新表述它。
【问题讨论】:
-
您可以在同一主题上找到很多关于将约束设置为 UIScrollView 的答案。如果您将约束正确设置到 UIScrollView 内的所有组件,那么您不需要以编程方式设置常量大小。请参阅此链接解释相同 - stackoverflow.com/questions/35624873/…
-
没错,但他们中的大多数(全部)都认为您正在使用情节提要:)
-
如果您从代码中添加子视图,您可能只需转到 Size Inspector 并在底部选择 Ambiguity->Never Verify。
-
@Paweł Pela :这是不久前的事了,但无论如何,如果您有兴趣,请查看我最喜欢的解决方案。在以下答案之一中查找 AutoLayScroll。
标签: ios swift uiscrollview autolayout