如何以编程方式设置滚动视图高度

时间:2018-09-12 08:26:28

标签: ios swift uiscrollview

如何在Swift 4的Xcode 9中以编程方式设置滚动视图高度?我为scrollview的高度设置了一个约束,并将其添加为出口。但是,当我以编程方式更改出口常数时,不会改变高度。

示例:

@IBOutlet weak var scrollview_height: NSLayoutConstraint!

override func viewDidLoad() {
     super.viewDidLoad()
     self.scrollview_height.constant = 245
}

3 个答案:

答案 0 :(得分:0)

您可以这样操作:

scrollView.frame = CGRect(x: {X},y: {Y},width: {WIDTH_VALUE},height: {HEIGHT_VALUE})

答案 1 :(得分:0)

ScrollView的高度应由其内容决定,而不是由您手动更改。充其量,如果您想做类似的事情,您可以在scrollView内有一个视图,然后更改该视图的大小。

分步操作:

  • 在视图中添加ScrollView。设置约束(没有高度或宽度)
  • View内添加一个ScrollView并设置其约束。另外,对于垂直滚动,您可能需要将其宽度设置为SuperView,并确保其高度。
  • 为视图的高度创建一个IBOutlet
  • 更新代码中约束的常数值
  • 如果未按预期更新,请在更新后在您的超级视图上运行layoutIfNeeded

答案 2 :(得分:0)

您必须增加scrollView的内容大小,而不是增加scrollView的框架。

self.scrollview.contentSize = CGSize(width: screenWidth, height: yourDesiredHeight) 

scrollView的可滚动contentSize会据此更改。