微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在UITableViewCell中创建动态UIStackView?

如何解决如何在UITableViewCell中创建动态UIStackView?

在尝试在UITableViewCell中实现动态垂直的UIStackView之后,我的设计完全被破坏了:

enter image description here

如您所见,此卡顶部的标签不适合放入电池内部。基本上,此单元格包含以下UI组件:

  1. UILabel(那个不合适)。约束:顶部,顶部,尾部。
  2. UIStackView(分配和对齐填充)(它显示带有价格的项目列表)。我负责显示商品名称和价格的自定义视图已插入此堆栈视图。约束:UILabel的顶部到底部(不合适的那个),前导,尾随。
  3. UIView(具有恒定高度的分隔线)。约束:高度约束,前导,尾随,UIStackView的自上而下。
  4. 两个UILabel(金额和总价。您可以在图像上看到它)。约束:分隔线的从上到下,前导,尾随和谷底约束。

我在XIB文件中设置了最直观的约束。没有错误或警告。但是无论如何,单元格并没有显示其中的全部内容我有以下猜测:

  1. 这个细胞并不孤单。我还展示了具有不同固有高度的其他自定义单元格。我认为iOS无法理解如何计算此单元格的高度。然后,我通过返回UITableView.automaticDimension实现了EstimatedHeightForRowAt和heightForRowAt方法。但是,无论如何,它没有帮助。
  2. 我认为这是因为需要拥抱或抗压。该标签不合适,因为它的抗压缩性与其他视图相同。因此,“自动版面配置”会随机决定应该破坏哪个视图,而只是破坏该视图。好的,我为该标签设置了最大抗压缩性,并且知道它已完全显示出来。但是,自动布局决定通过剪切其中的文本来破坏我的UIStackView,即使将numberOfLines设置为0也是如此。我不希望剪切视图。我希望他们能得到充分展示。

似乎是严重的问题。因此,我该如何解决。设置约束的方法如下:

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。