在autolayout的情况下,IOS scrollview模糊的可滚动内容高度

嗨,我正在开发小型 IOS应用程序,其中我使用scrollview与自动布局.内部滚动我添加了两个以上的视图.我正在使用IB和自动布局约束.我以纵向方式一个一个添加两个视图.我添加了外部约束,如尾随,前导,顶部,底部空间.我还为两个视图添加了高度限制.直到这一切都运转良好.

但我的view1有一些动态内容.出于这个原因,我想使高度约束大于等于而不是等于.

那么如何解决这个问题呢.需要一些帮助.谢谢.

解决方法

你应该遵循以下方法.
首先,这里有一些关于滚动视图的重要事项,这对于自动布局很重要:

> UIScrollView自动更改其边界.
> UIScrollView需要一个内容视图(在UI中)来获取滚动的内容大小,这对于自动布局来说非常顺利.
> UIScrollView的顶部和底部约束应该连接到顶部和底部布局指南(对于大多数情况,不是全部).

根据你的问题:

第一种方法:你有UIScrollView,所以只需在其中插入一个UIView并将其视为内容视图.之后将你的两个UIViews放在UIView(内容视图)中.

所以层次结构是:MainView – > UIScollView – > UIView(ContentView) – > firstView&第二视图.现在我们将给所有人提供约束.

>对于UIScrollView,将TOP和BottOM约束连接到TOP&底部布局指南以及主视图的引导和跟踪.
>对于UIView(内容视图),将约束LEADING,TRAILING,TOP,BottOM赋予UIScrollView非常重要,并为contentView提供适合滚动的显式高度(正常高度约束)(例如1200).也使它在容器中水平居中.
>现在为第一个视图提供约束:LEADING,TOP到ContentView并给出明确的高度(正常高度约束).现在不要试图将其修改为大于平等 – 我们稍后会这样做.然后,约束第二个视图领先,跟踪到ContentView,从顶部到FirstView,从底部内容视图和显式高度(你想要什么).现在,尝试从等于修改一个视图的高度约束 – >大于平等 – 它肯定会奏效.

第二种方法(简单和简单):在按照第一点给出约束后,为了动态更改第一个View的高度,您可以为您的类创建第一个视图的高度约束的IBOutlet,并根据您的要求,您可以更改约束的常量值(根据你想要的任何方法或按钮动作的第一个视图的高度,所以它将在运行时更改.你也可以认为这是一个很好的技巧,当你想要隐藏你的视图,所以只需将它的高度约束的常量更改为0,这样它将隐藏,并在取消隐藏时,再次将相同的常量值设置为所需的值,这样你也可以轻松玩隐藏和取消隐藏功能的视图,从其他方面在自动布局中有点困难.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...