gpt4 book ai didi

ios - 如何动态增加 ScrollView 的高度?

转载 作者:行者123 更新时间:2023-11-29 00:17:48 25 4
gpt4 key购买 nike

我在 ScrollView 中放置了一个表格 View 和一个 View ,如何根据表格 View 中的单元格数量以及内容 View 中存在的内容动态更改 ScrollView 的高度

最佳答案

您需要设置 ScrollView 的 contensize。您可以通过适当的自动布局或以编程方式完成此操作

CGRect contentRect = CGRectZero;
for (UIView *view in self.scrollView.subviews) {
contentRect = CGRectUnion(contentRect, view.frame);
}
self.scrollView.contentSize = contentRect.size;

Swift 3

override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
var contentRect = CGRect.zero
for view: UIView in scrollView.subviews {
contentRect = contentRect.union(view.frame)
}
contentRect.size.height = contentRect.size.height + 20
scrollView.contentSize = contentRect.size
}

Swift 4

这是 Swift 4 中更简洁的版本。Swift 4 归功于此 ans

 extension UIScrollView {
func updateContentView() {
contentSize.height = subviews.sorted(by: { $0.frame.maxY < $1.frame.maxY }).last?.frame.maxY ?? contentSize.height
}
}

您可以在 Storyboard 中完成相同的操作。有黑客来实现这一点。

  1. 根据要求将约束添加到 scrollview 的顶部、左侧、右侧和高度为 1000 或更多。您的 ScrollView 可能会超出您的 View Controller 本身的高度。

  2. 然后您可以在 ScrollView 底部和最后一个 subview (在您的情况下 View 包含 TableView 和 PaymentView)底部之间添加约束为 0 或 10。

3.您现在可以删除高度限制。

但在此之前确保 ScrollView 的所有 subview 之间的约束是正确的。

希望对您有所帮助。快乐编码!!

关于ios - 如何动态增加 ScrollView 的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44839101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com