web-dev-qa-db-ja.com

動的高さをUIScrollViewに設定Swift

UIScrollViewの動的な高さを、ScrollView

これは私が出力として得ているものです:

enter image description here

9

自動レイアウトを使用できます。スクロールビューでコンテンツビューを使用します。これは、スクロールビューに固定することができ、高さと幅の制​​約はメインビューと同じです。次に、高さを動的に変化させたい場合、高さの制約に他の高さよりも低い優先順位を与えることができます。そのため、コンテンツビューの高さは、そのサブビューのために、本来のサイズに基づいて増加します。

参照リンク:

1) https://developer.Apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/WorkingwithScrollViews.html#//Apple_ref/doc/uid/TP40010853-CH24-SW1

2) https://www.youtube.com/watch?v=6J22gHORk2I

11
Patrick R

最初に0のサブビューの高さ制約を設定し、次にデータの高さ(サブビューで設定する)を計算し、subview.heightConstraint.constant = data.heightを割り当てるだけです。次にscrollView.contentsizeを設定する必要があります。サブビューの高さに基づく:

self.scrollView.contentSize = CGSize(width: self.scrollView.contentSize.width, height: self.subViewHeight.constant)
5
vaibhav sharma

私にとって、このトリックはうまくいきました(Swift 4)

scrollView.layoutIfNeeded()
scrollView.isScrollEnabled = true
scrollView.contentSize = CGSize(width: self.view.frame.width, height: scrollView.frame.size.height)
2
Hattori Hanzō

スペースを含め、コンテンツに必要な高さを計算する必要があります。その値を行の高さとして割り当て、テーブル(またはその行の一部)を更新します

0
Vincent