具有自动布局的 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)值,滚动视图的内容大小将自动增加。
很难理解你的布局有什么问题,所以我创建了一个带有 2 个不断增长的标签的测试项目,一切正常,也许你会发现你的约束有什么问题:)
https://www.dropbox.com/s/j8269c03b32gra5/scrollview-test.zip?dl=0
构建我的项目并单击 "More text" 按钮将文本动态添加到滚动视图中的标签
对我来说,我需要向页面中的最后一个元素添加底部约束。更多解释
我现在正在为 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 相同的图像。希望能帮助到你!
您必须使 ContentView 的高度灵活,这样它应该会增加,滚动视图的内容大小也会相应增加。查看附加的屏幕截图。增加底部标签顶部约束(即 495)值,滚动视图的内容大小将自动增加。
很难理解你的布局有什么问题,所以我创建了一个带有 2 个不断增长的标签的测试项目,一切正常,也许你会发现你的约束有什么问题:)
https://www.dropbox.com/s/j8269c03b32gra5/scrollview-test.zip?dl=0
构建我的项目并单击 "More text" 按钮将文本动态添加到滚动视图中的标签
对我来说,我需要向页面中的最后一个元素添加底部约束。更多解释