【问题标题】:Not able to reduce UITableCustomCell height in iOS using Swift?无法使用 Swift 降低 iOS 中的 UITableCustomCell 高度?
【发布时间】:2019-04-23 01:39:50
【问题描述】:

如果 UITableView 自定义单元格没有数据供可选标签显示,我需要降低它们的高度。下图对理解有很大帮助

我尝试为 pre/post 指令在数据可用性方面的相应 top/bottom 分配约束常量值 0 和 20,当这两个可选值都可以完美运行时(前/后说明)可用,但如果缺少任何值,则单元格将选择最小高度,请参见下文????????

虽然我要返回 heightForRowAt 方法

返回 UITableViewAutomaticDimension

如果缺少任何可选值(黄色标签上),我需要管理单元格中该标签的外部空间,请建议我更好的解决方案????????

【问题讨论】:

    标签: ios iphone swift uitableview uitableviewautomaticdimension


    【解决方案1】:

    您可以使用 UIStackView 实现此目的。

    只需将前置说明、成分名称和后置说明嵌入到垂直 UIStackView 中,然后添加约束,从顶部和底部开始 20,任何你想要的尾随和你想要的左边标签的间距。最后在 UIStackView 项目之间添加所需的项目间距(例如 4 o 8 pts)。

    然后,您需要做的就是在标签没有内容时隐藏标签,UIStackView 会为您发挥作用,它会在隐藏项目时处理间距。

    ;)

    【讨论】:

    • 感谢@Esteban 的意见,早些时候我尝试使用堆栈视图但无法管理前导和顶部空间,因为所有这些标签也是多行(动态内容长度)
    • @MohitGarg 只需正确设置约束和优先级即可适用于多个多行标签,只需记住哪个会拉伸(huggin)和压缩,哪个会以单元格为中心(我认为左侧标签将始终相对于右侧“堆栈”居中)等等。
    猜你喜欢
    • 2020-04-24
    • 1970-01-01
    • 2020-11-19
    • 1970-01-01
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 2019-06-22
    • 1970-01-01
    相关资源
    最近更新 更多