为动态单元设置约束
Posted
技术标签:
【中文标题】为动态单元设置约束【英文标题】:Setting constraints for dynamic cell 【发布时间】:2015-04-18 09:10:24 【问题描述】:我刚开始在我的 ios 项目中使用约束,并且无法为我的动态 UITableViewCell
设置正确的约束。我已经尝试了所有我能想到的组合,但它要么不会动态改变高度,要么会给我关于不明确布局的警告。
我的第一个 label1 不应该改变高度,但其他两个是。我目前的限制达到了预期的效果,但给了我下面看到的警告。
如果我限制标签的高度(显然),警告就会消失,但这并不能解决我的问题。
任何有关如何解决此问题的建议将不胜感激!
【问题讨论】:
【参考方案1】:首先你需要设置
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 44.0
在 UITableViewController 的 viewDidLoad 中
那么你需要从单元格的顶部到底部设置约束
top space to superview
vertical spacing
bottom space to superview
height greater or equal
当然也为每个 UILabel 设置行数为 0
示例项目可在此处获得https://github.com/MihaelIsaev/SwiftAutoResizableCells
【讨论】:
按照您的步骤,我遇到了另一个问题,第一次使用单元格时,它不会动态更改高度,但是在滚动表格视图并让单元格被重用后,它们看起来很完美.有什么建议吗? 您是否尝试运行我的示例项目?我的项目有同样的问题吗?我测试了它,它工作得很好。也许你错过了什么? 我无法在项目中找到您的自定义单元格的 xib 文件,因此无法将您的约束与我的约束进行比较。请你解释一下它在哪里,或者把你的限制的图片发给我? 我只是使用storyboard,你可以在Main.storyboard中找到我的cell原型。您可以下载整个项目,在 Xcode 中打开并运行。 通过以编程方式滚动视图解决了这个问题,以便在用户不知情的情况下重复使用单元格,感谢您对约束的帮助!以上是关于为动态单元设置约束的主要内容,如果未能解决你的问题,请参考以下文章
如何根据动态高度单元格设置 UITableView 的高度约束?