Mic*_*hel 17 uiscrollview ios autolayout swift
这是一个关于某些有用的东西的快速问题,但可以写得更好.我有一个UIScrollView和一个列在里面的对象,一个在另一个之下.一切都在期间完成,viewDidLoad()并且对象的放置使用Auto Layout.这是我将contentSize高度设置为UIScrollView适当值的方法.
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
globalView.contentSize = CGSize(width: globalView.frame.width,
height: globalView.frame.height * 1.59)
}
Run Code Online (Sandbox Code Playgroud)
它有效,但任意值1.59显然是由我尝试了几个可能的值决定的.在这种情况下计算contentSize的正确方法是什么?我正在以编程方式做所有事情.搜索网并没有让我得到任何简单明了的答案,所以虽然这可能是一个有点重复的问题但我决定重新制定它.
Shr*_*t K 77
以编程方式提供内容大小并不是一种好方法.以下解决方案将使用autolayout工作,根本不需要设置内容大小.它将根据添加到视图的UI字段数进行计算.
步骤1 :
添加Scrollview以在故事板中查看并添加前导,尾随,顶部和底部约束(所有值均为零).
第2步 :
不要直接在scrollview上直接添加所需的视图,首先将一个视图添加到scrollview(这将是我们所有UI元素的内容视图).在此视图中添加以下约束.
1)前导,尾随,顶部和底部约束(所有值均为零).
2)向主视图添加相等的高度,相等的宽度(即包含scrollview).对于相等的高度,设置优先级为低.(这是设置内容大小的重要步骤).
3)此内容视图的高度将根据添加到视图的视图数量.假设你添加的最后一个视图是一个标签,他的Y位置是420,高度是20,那么你的内容视图将是440.
第3步:根据您的要求为您在内容视图中添加的所有视图添加约束.
以供参考 :
我希望这肯定会对你有所帮助.
| 归档时间: |
|
| 查看次数: |
22758 次 |
| 最近记录: |