如何使用 Swift 4 在 Xcode 9 中以编程方式设置滚动视图高度?我为滚动视图高度设置了一个约束,并将其添加为出口。但是当我以编程方式更改出口常量值时,它不会改变高度。
例:
@IBOutlet weak var scrollview_height: NSLayoutConstraint!
override func viewDidLoad() {
super.viewDidLoad()
self.scrollview_height.constant = 245
}
ScrollView
的高度应由其内容给出,而不是由您手动更改。充其量,如果你想做这样的事情,你在scrollView
里面有一个视图,然后改变该视图的大小。
循序渐进:
- 向视图添加
ScrollView
。设置约束(无高度或宽度(
在 ScrollView
内添加一个View
并设置其约束。此外,对于垂直滚动,您可能希望将其宽度设置为等于SuperView
并确保其具有高度。- 为视图的高度创建
IBOutlet
- 在代码中更新约束的常量值
- 如果未按预期更新,请在更新后在超级视图上运行
layoutIfNeeded
您必须增加滚动视图的内容大小,而不是增加滚动视图的框架。
self.scrollview.contentSize = CGSize(width: screenWidth, height: yourDesiredHeight)
可滚动内容大小 滚动视图 将据此更改。