自动布局视图层次结构

时间:2015-03-12 05:01:49

标签: ios swift uiscrollview autolayout

我需要在我的应用中显示图片中的布局。

视图层次结构为:

  • 滚动视图(scrollEnabled = true)
    • 图片视图
    • 标签
    • webview(scrollEnabled = false)
    • 表格视图(scrollEnabled = false,最大行数= 6)

Web视图高度由其委托的webViewDidFinishLoad动态更改。

func webViewDidFinishLoad(webView: UIWebView) {
    webView.sizeToFit()
} 

如何设置自动布局以在Web视图下方移动表格视图?

Desired Layout

1 个答案:

答案 0 :(得分:1)

首先,您需要在scrollView中添加containerView,然后将subViews添加到containerView。

下面我展示了您在UIScrollView中显示内容时需要遵循的层次结构以及您需要设置的约束。

滚动视图(约束: - 前导,尾随,顶部,底部)

容器视图(约束: - 前导,尾随,顶部,底部,宽度等于视图,高度等于视图或高度= 1000)

注意:如果所有子视图都具有特定高度,则无需为ContainerView提供高度。

UIImageView(约束: - 前导,尾随,顶部,垂直间距,高度)

UILabel(约束: - 前导,尾随,顶部,垂直间距,高度)

UIWebView(约束: - 前导,尾随,顶部,verticalSpacing,高度> = 0)

UITableView(约束: - 前导,尾随,顶部,底部)

注意:如果需要,给tableView赋予高度。您需要根据您的要求在运行时以编程方式更改UIWebView的高度约束。

如需更多参考,请参阅以下链接:

http://spin.atomicobject.com/2014/03/05/uiscrollview-autolayout-ios/ http://blog.surecase.eu/working-with-uiscrollview-in-storyboard-using-autolayout/ http://makeapppie.com/2014/12/11/swift-swift-using-uiscrollview-with-autolayout/