标题和消息标签显示为滚动视图.如果标签文本增加,则警报高度也随着标签的固有内容大小而增加.但是在一定高度,警报高度停止增加,标题和消息文本可以滚动.
我读过的
用品
> Auto Layout Magic: Content Sizing Priorities
> Editing Auto Layout Constraints (documentation)
> A Fixed Width Dynamic Height ScrollView in AutoLayout
> Using UIScrollView with Auto Layout in iOS
堆栈溢出
> Adding priority to layout constraints
> Inequality Constraint Ambiguity
> UIScrollView Scrollable Content Size Ambiguity
> Ambiguity with two inequality constraints
> IOS scrollview ambiguous scrollable content height in case of autolayout
答案可能在那里,但我无法抽象.
我试过了
只关注两个标签的滚动视图,我试图做一个最小的例子,其中根据scrollview的内在高度来调整父视图的大小.我已经玩了很多限制.这是一个组合(其中许多)不起作用:
我已经在auto layout和normal constraints甚至intrinsic content sizes工作.另外,我知道how to get a basic scroll view working with auto layout.但是,我从来没有做过任何优先事项和内容拥抱和压缩阻力.从我所做的阅读中,我对他们的含义有一个肤浅的了解,但是在这种情况下我已经失去了如何应用它们.我的猜测是,我需要做一些内容拥抱和优先事项.
解决方法
结构
首先让我向你展示我的结构:
内容视图是具有白色背景的视图,来电显示和底视图具有固定的高度.底部视图具有您的按钮,来电显示有您的标题.
解决方案
因此,在设置基本约束之后(请注意,滚动视图中的视图具有顶部,左侧,右侧和底部到滚动视图并且具有相等的宽度),问题是滚动视图不知道应该具有的大小.
所以这里来我所做的:
我希望滚动可以增长到最大值.所以我添加了一个比例的高度来设置max:
只有这样会带来两个问题:滚动视图仍然不知道什么高度应该有,现在你可以调整大小,滚动视图将通过他的内容的大小(如果内容小于最大大小).
所以,为了解决这两个问题,我从Scroll View和Scroll View中的View里面添加了一个较小的优先级
我希望这可以帮助你.