具有自动布局的 UIScrollview

UIScrollview with Auto-Layout

我现在正在为 UIScrollView 苦苦挣扎。

"descriptionLabel" 和 "genresLabel" 会在运行时增加高度,并且与演员的差距会增加。所以我需要这里的滚动功能来查看演员标签。

我将contentView的高度设置为一个height-constraint等于View with priority 250,希望在需要时自动增加高度。

实际上什么也没有发生,也无法滚动。

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

只需检查这个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
    }

您的 Actors 标签是该视图的最后一个元素吗?如果是,则将两个 Actors: 和 asdfas... 固定到顶部、底部和左侧。现在,将底部 'Constant' 设置为 'Use standard value'。同时将最顶部的元素(此处可能是 'No network connection!')固定到顶部并将其 'Constant' 设置为 'Use standard value'。 试试这个,让我知道它是否有效!

我已经尝试过我告诉 you.Pasting 相同的图像。希望能帮助到你!

对于 Actors 标签约束包括:

对于 asdfas 标签约束如下图所示:

您必须使 ContentView 的高度灵活,这样它应该会增加,滚动视图的内容大小也会相应增加。查看附加的屏幕截图。增加底部标签顶部约束(即 495)值,滚动视图的内容大小将自动增加。

这是Sample Source Code

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

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

构建我的项目并单击 "More text" 按钮将文本动态添加到滚动视图中的标签

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