2016-01-19 42 views
2

我在检测UIScrollView高度时遇到了一个实际问题。我搜索了很多,发现此解决方案:动态检测UIScrollView的高度

enter image description here

所以我从Content View拖到View并提出Equal Height。但我不为我工作。

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

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

+0

你想在scrollview中添加什么?你想在里面显示一些文字吗? –

+0

@BharathVankireddy有许多UITables,UIViews,UILabels等。 –

+0

你是否考虑过将所有元素直接放在scrollView中?是否有充分理由拥有内容视图? – juanjo

回答

0

你只能设置你的scrollView的高度,方法是计算添加到滚动视图中的各个对象的高度。

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

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

在上面的行中,'height'只不过是所有UI对象的所有高度的总和。

1

ScrollView应该添加一个内容查看这样的:

enter image description here

选择scrollView和尺寸检查底部,设置宽度是这样的:

my inspector setting

更多如何处理scrollView的细节Interfac e Builder你可以看看这个AppleDoc Working with Scroll Views

希望这对你有所帮助!

+0

它会自动改变高度吗?我做到了,但没有任何反应 –

0

通过做下面的东西,我能够实现基于里面的内容与自动高度的UIScrollView。

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

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

0

你要添加的项(UIView的,的UILabel ...)通过自动布局在你的UIScrollView?如果是这样,只要把它们放进去,并为它们创造正确的约束条件。

关键点是UIScrollView中的每个项目对它们的超级视图有顶端,前端,底端和尾端约束。最重要的是确保您的UIScrollView具有顶级的,领先的,底部的和尾随的后代限制到它的子项目。它会为你计算滚动视图的正确内容高度。

在你的解决方案中,如果你的contentView有零框架,它不会给你任何滚动视图的高度。