[英]UIScrollview with Auto-Layout
我现在正在努力使用UIScrollView一段时间。
“descriptionLabel”和“genresLabel”将在运行时增加高度,与演员的差距将增加。 所以我需要这里的滚动功能来查看演员标签。
我将contentView的高度设置为高度约束等于View优先级为250,并希望高度在需要时自动增加。
事实上没有任何事情发生,也无法滚动。
如何在自动布局上下文中自动增加contentView高度?
您必须使ContentView的高度变得灵活,因此它应该增加,并且scrollview的内容大小将相应增加。 查看附加的屏幕截图。 增加底部标签顶部约束(即495)值,scrollview的内容大小将自动增加。
这是示例源代码
你的Actors标签是这个View的最后一个元素吗? 如果它然后修复Actors:和asdfas ...到顶部,底部和左侧。 现在,对于底部设置'常数'为'使用标准值'。还要将最顶层元素(这里可能是'无网络连接!')固定到顶部并将其“常量”设置为“使用标准值”。 试试这个,让我知道它是否有效!
我已经尝试了我告诉过你的东西。同样的图像。 希望能帮助到你!
对于Actors标签限制包括:
对于asdfas标签约束如下图所示:
只需查看此链接 ,只需编写此内容即可添加内容视图高度: -
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
}
很难理解你的布局有什么问题,所以我用2个不断增长的标签创建了测试项目,一切正常,也许你会发现你的约束有什么问题:)
https://www.dropbox.com/s/j8269c03b32gra5/scrollview-test.zip?dl=0
构建我的项目并单击“更多文本”按钮,动态地将文本添加到scrollview中的标签
对我来说,我需要在页面的最后一个元素中添加一个底部约束。 这里解释得更多
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.