动态检测UIScrollView的高度

我有一个检测UIScrollView高度的真正问题。 我搜索了很多,发现了这个解决方案:

在此处输入图像描述

所以我从Content View拖到View并制作了相同的Equal Height 。 但我不适合我。

我还尝试根据元素高度计算scrollView高度,但我不认为这是正确的方法。

如何动态设置UIScrollView高度? 这样做的正确方法是什么?

你的ScrollView应该像这样添加一个ContentView

在此处输入图像描述

选择你的scrollView并在大小Inspector底部,设置宽度如下:

我的督察员设定

有关如何在Interface Builder中处理scrollView更多详细信息,您可以查看此AppleDoc 使用滚动视图

希望这对你有所帮助!

您只能通过计算添加到scrollview的各个对象的高度来设置scrollView的高度。

以编程方式,计算每个UI对象的高度,并在结束时将内容高度设置为scrollview。

 [scView setContentSize:CGSizeMake(300, height)]; 

在上面的行中,“height”只是计算出的所有UI对象的所有高度的总和。

通过执行以下操作,我能够根据内部的内容实现具有自动高度的UIScrollView。

  1. 将scrollview添加到主视图。
  2. 在此容器滚动视图中添加一个ContentView。
  3. 在此内容视图中为容器滚动视图及其内部UI组件提供适当的约束。 请注意,您不应该为内容视图指定固定高度。 内容视图的约束应该根据内部的UI组件增长
  4. 这可能会给你一个布局警告’Unambigous ….’。 要解决此问题,请在内容视图和滚动视图之间提供“等高度”约束关系

尝试以上步骤,这将解决您的问题:)

您想通过自动布局在UIScrollView中添加项目(UIView,UILabel …)吗? 如果是这样,只需将它们放入其中并为它们创建正确的约束。

关键点是UIScrollView中的每个项目都有超级视图的顶部,前导,底部和尾部约束。 最重要的是确保您的UIScrollView在其子项目中具有顶部,前导,底部和尾随的后代约束。 它将为您计算滚动视图的正确内容高度。

在您的解决方案中,如果您的contentView具有零帧,则它不会为滚动视图提供任何高度。