[swift4] UIScrollViewがAutoLayoutで配置するとスクロールしない問題
環境:Xcode9 swift4
UIScrollViewがAutoLayoutで配置するとスクロールしない問題は下記の通りで解決する。
@IBOutlet var scrollView: UIScrollView!
@IBOutlet var baseView: UIView!
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
let contentWidth = scrollView.bounds.width
let contentHeight = baseView.bounds.height*1.5
scrollView.contentSize = CGSize(width: contentWidth, height: contentHeight)
}
scrollViewの上にbaseViewを乗せて、baseViewの上に各材料を乗せている
*scrollViewとbaseViewは上下右左のMarginを0という成約でAutoLayoutしている。
viewDidLayoutSubviewsでAutolayout要素を上書きできる。
scrollViewがこれで変更になっても、scrollViewを参照してAutolayoutで配置している他のオブジェクトはいい感じに調整してくれる。