繁体   English   中英

根据子视图的内容大小调整滚动视图

[英]Adjusting scroll view depending on content size of subview

我试图允许滚动视图根据此页面上子视图的大小来调整大小。 图片中对象的所有其他约束都可以正常工作。

伊姆古尔

当我向子视图添加约束以拥抱到屏幕的左,右和底部(子视图的顶部拥抱到分段控件的底部)然后更新框架时,它将使子视图的高度为0。

伊姆古尔

我不能在子视图中添加高度限制,因为子视图的大小将根据其中的内容量动态变化,然后将更改滚动视图的大小。

如何在不增加高度限制的情况下完成此任务?

您的视图层次结构应如下所示:

视图层次

创建UIScrollView的单个子视图,将所有内容放入其中

内容视图必须为显式大小(或在界面构建器中占位符大小,并在运行时设置)。 换句话说,您的内容视图不能依赖滚动视图来获取其大小。 但是,它可以依赖于滚动视图之外的视图来获取其大小。

从Apple 技术说明TN2154

  • 在所有涉及的视图上将translatesAutoresizingMaskIntoConstraints设置为NO。

  • 使用滚动视图外部的约束来定位和调整滚动视图的大小。

  • 使用约束在滚动视图中布置子视图,确保约束与滚动视图的所有四个边缘相关联,并且不依赖于滚动视图来获取其大小。

    UIScrollView和自动布局

    在iOS中将UIScrollView与自动布局一起使用

尝试将“ Equl Heights和“ Equal Width约束条件赋予子视图。

宽度相等和高度相等

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM