【问题标题】:Setting constraints for dynamic cell为动态单元设置约束
【发布时间】:2015-04-18 09:10:24
【问题描述】:

我刚开始在我的 iOS 项目中使用约束,并且无法为我的动态 UITableViewCell 设置正确的约束。我已经尝试了所有我能想到的组合,但它要么不会动态改变高度,要么会给我关于不明确布局的警告。

我的第一个 label1 不应该改变高度,但其他两个是。我目前的限制达到了预期的效果,但给了我下面看到的警告。

如果我限制标签的高度(显然),警告就会消失,但这并不能解决我的问题。

任何有关如何解决此问题的建议将不胜感激!

【问题讨论】:

    标签: ios xcode uitableview autolayout constraints


    【解决方案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 中打开并运行。
    • 通过以编程方式滚动视图解决了这个问题,以便在用户不知情的情况下重复使用单元格,感谢您对约束的帮助!
    猜你喜欢
    • 1970-01-01
    • 2020-02-27
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多