具有自动布局的UIScrollview

时间:2015-05-22 09:49:32

标签: ios objective-c uiscrollview

我现在在UIScrollView上挣扎了一段时间。

" descriptionLabel"和" genresLabel"将在运行期间增加高度,并且与演员的差距将增加。所以我需要滚动功能才能看到演员标签。

我将contentView的高度设置为高度约束等于View优先级为250,并希望高度在需要时自动增加。

事实上没有任何事情发生,也无法滚动。

如何在自动布局上下文中自动增加contentView高度?

Storyboard

5 个答案:

答案 0 :(得分:3)

您必须使ContentView的高度变得灵活,因此它应该会增加,并且scrollview的内容大小会相应增加。查看附加的屏幕截图。增加底部标签顶部约束(即495)值会使scrollview的内容大小自动增加。

以下是Sample Source Code

enter image description here

enter image description here

enter image description here

答案 1 :(得分:1)

你的Actors标签是这个View的最后一个元素吗?如果它然后修复Actors:和asdfas ...到顶部,底部和左侧。现在,对于底部设置' Constant' as'使用标准值'。还要修复最顶层的元素(这里可能没有网络连接!')到顶部并设置其常量' as'使用标准值'。 试试这个,让我知道它是否有效!

我已经尝试了我告诉过你的东西。同样的图像。希望能帮助到你! enter image description here

enter image description here

enter image description here 对于Actors标签约束包括:

enter image description here 对于asdfas标签约束如下图所示: enter image description here

答案 2 :(得分:0)

只需检查此link,只需编写此内容即可添加内容视图高度: -

override func viewDidLayoutSubviews()
    {
        let scrollViewBounds = scrollView.bounds
        let containerViewBounds = contentView.bounds

        var scrollViewInsets = UIEdgeInsetsZero
        scrollViewInsets.top = scrollViewBounds.size.height/2.0;
        scrollViewInsets.top -= contentView.bounds.size.height/2.0;

        scrollViewInsets.bottom = scrollViewBounds.size.height/2.0
        scrollViewInsets.bottom -= contentView.bounds.size.height/2.0;
        scrollViewInsets.bottom += 1

        scrollView.contentInset = scrollViewInsets
    }

答案 3 :(得分:0)

很难理解你的布局有什么问题,所以我用2个不断增长的标签创建了测试项目,一切正常,也许你会发现你的约束中有什么问题:)

https://www.dropbox.com/s/j8269c03b32gra5/scrollview-test.zip?dl=0

构建我的项目并单击“更多文本”按钮,动态地向scrollview

中的标签添加文本

答案 4 :(得分:0)

对我来说,我需要在页面的最后一个元素中添加一个底部约束。更多解释here