nil*_*ash 7 objective-c uiscrollview ios autolayout
嗨,我正在开发小型IOS应用程序,其中我使用scrollview与自动布局.内部滚动我添加了两个以上的视图.我正在使用IB和自动布局约束.我以纵向方式一个接一个地添加两个视图.我添加了外部约束,如尾随,前导,顶部,底部空间.我还为两个视图添加了高度限制.直到这一切都运转良好.
但我的view1有一些动态内容.出于这个原因,我想使高度约束大于等于而不是等于.

那么如何解决这个问题呢.需要一些帮助.谢谢.
Tec*_*ift 22
你应该遵循以下方法.首先,这里有一些关于滚动视图的重要事项,这对于自动布局很重要:
UIScrollView 自动更改其边界.UIScrollView 需要一个内容视图(在UI中)来获取滚动的内容大小,这对于自动布局来说很顺利.UIScrollView的顶部和底部约束应该连接到顶部和底部布局指南(对于大多数情况,不是全部).根据你的问题:
第一种方法:你有UIScrollView,所以只需在其中插入一个UIView并将其视为内容视图.之后把你的两个UIViews放在UIView(内容视图)里面.
所以层次结构是:MainView- > UIScollView- > UIView(ContentView) - > firstView和Second View.现在我们将为所有人提供约束.
UIScrollView,将TOP和BOTTOM约束连接到TOP&Bottom布局指南,将LEADING和TRAILING连接到主视图.UIView(内容视图),将约束LEADING,TRAILING,TOP,BOTTOM赋予UIScrollView并为您的contentView提供适合滚动的显式高度(正常高度约束)非常重要(例如1200).也使它在容器中水平居中.第二种方法(简单和简单):在按照第一点给出约束后,为了动态更改第一个View的高度,您可以为您的类创建第一个视图的高度约束的IBOutlet,并根据您的要求,您可以更改约束的常量值(根据你想要的任何方法或按钮动作的第一个视图的高度,所以它将在运行时更改.你也可以认为这是一个很好的技巧,当你想要隐藏你的视图,所以只需将它们的高度约束常量更改为0,这样它将隐藏,并在取消隐藏时,再次将相同的常量值设置为所需的值,这样你也可以轻松玩隐藏和取消隐藏功能的视图,这在其他方面的自动布局中有点困难.
小智 0
我会将这个约束作为类型equals并赋予它低优先级。然后,在添加动态内容时,您可以只添加另一个具有更高优先级的约束。
如果您从 xib 加载此 UIView,请确保您提供具有更高优先级的约束。