如何让 UIScrollView 适应其内容大小,直到在自动布局中滚动之前达到最大值

wyu*_*wyu 7 uiscrollview ios autolayout

我想在自动布局中创建一个 UIScrollView ,它将完全包含其内容(不滚动),直到内容达到一定大小(例如 400),然后开始滚动。

所以我的观点是这样的UI滚动视图

如果我设置Scroll View.height = ContentView.height,则滚动视图将扩展以适合所有内容。到目前为止,一切都很好。

现在,如果我尝试通过设置最大高度 Scroll View.height <= 400,最终发生的情况是它ContentView.height也设置了(由于Scroll View.height = ContentView.height)并且文本被切断并且不滚动

截断文字

那么这是否可以通过自动布局来实现呢?这对于框架来说似乎很容易做到,但我想要一个自动布局的解决方案。

如果您想自己玩一下,这里是示例项目 - https://github.com/iwllyu/content-hugging-uisv-with-max

srv*_*rvv 7

其他一切你都做对了。但要使其起作用,您应该将Scroll View.height = ContentView.height约束的优先级设置为小于子视图的压缩阻力优先级(即UILabel此处)。

所以在你的情况下,任何低于 750 的值都可以。