Swift如何获得UIScrollView动态高度

Posted

技术标签:

【中文标题】Swift如何获得UIScrollView动态高度【英文标题】:Swift how can I get UIScrollView dynamic height 【发布时间】:2017-11-30 13:07:10 【问题描述】:

我用谷歌搜索但没有找到可行的解决方案,我在UITextFieldUIButtons 中添加了UIScrollViewNSLayoutConstraint,我不使用情节提要并以编程方式设置所有内容

我的问题是:无法计算 UIScrollView.contentSize 的动态高度,因为我使用的是 AutoLayout 也试过UIScrollView.layoutIfNeeded(),但没有运气

任何人都可以指导或建议我如何让它工作吗?

【问题讨论】:

natashatherobot.com/ios-autolayout-scrollview 这是一个完整的示例 - 您甚至可以在 Playground 页面中运行它:***.com/a/44933358/6257435 感谢@DonMag,您的回答启发了我正确的方向,只是添加了最后一个对象底部约束并且它起作用了 【参考方案1】:

@DonMag 的评论是解决我问题的正确方法 ***.com/a/44933358/6257435

如果您在 UIScrollView 中有 AutoLayout 的对象,请不要忘记将 .bottomAnchor 添加到最后一项

【讨论】:

【参考方案2】:

滚动视图子视图的高度和约束常量的总和是最终高度。即使在制定了约束条件之后,它也始终是总和。所以只要计算一下,你的身高。但是为什么你需要计算滚动视图的内容高度呢?如果调整错误,设置你的子视图高度约束,顶部和底部约束为滚动视图,内容大小将自动计算

【讨论】:

以上是关于Swift如何获得UIScrollView动态高度的主要内容,如果未能解决你的问题,请参考以下文章

在 UIScrollView (Swift) 中使用动态内容调整 UiView 高度

如何获得根据标签内容动态变化的 UIView 的高度 - Swift

如何使用 autoLayouts 动态增加 UIScrollView 的高度

如何在swift中设置自定义UITableviewcell的动态高度

使视图的高度随图像 Xcode swift 的高度动态变化

UIScrollView ContentView动态高度约束