【问题标题】:Can UIStackView also be used within a UITableViewCell?UIStackView 也可以在 UITableViewCell 中使用吗?
【发布时间】:2015-08-23 14:54:31
【问题描述】:

UIStackView 能否用于调整 UITableViewCell 中的视图大小、重新定位或折叠视图?

【问题讨论】:

  • 我是这么认为的,因为UITableViewCell下面有一个contentView
  • 我确实用过一个。我遇到了有史以来最愚蠢的问题。这是因为我将分发设置为.fillProportionately。在我滚动后,有些行只是神奇地没有显示或消失。对于 my 情况,解决方案是将分布更改为 .fill
  • @Honey 拯救了我的一天。我现在为此苦苦挣扎了将近 2-3 个小时。谢谢老哥!!

标签: ios uitableview autolayout ios9 uistackview


【解决方案1】:

是的,这是可能的。
观看 WWDC15 视频。他们演示了在 UITableViewCell 中使用 UIStackView。现在是 5:00 左右

WWDC 15 - Implementing UI Designs in Interface Builder

【讨论】:

    【解决方案2】:
    • 可以使用,因为UIStackView是UIView的子类。
    • 我们可以创建一个 UIStackView 及其所有的排列视图和布局属性,将其放置为 UITableViewCell 的内容视图。

    【讨论】:

    • “单元格的高度必须单独计算” - 这是不正确的。如果您 a) 将堆栈视图添加到单元格的内容视图,b) 创建将堆栈视图固定到内容视图的所有四个边缘的约束,并且 c) 设置表格视图的 @,表格视图将为您计算单元格高度987654321@ 属性为 0 以外的值(我通常使用 2)。
    • 这就是我所看到的@memmons,你有更多的运气让它工作吗?或者您是否有指向 Apple 文档的链接,其中明确指出它不起作用?
    • 它在 iOS 9 上对我有用。除了 GregBrown 的评论集 rowHeight = UITableViewAutomaticDimension
    • 我可以确认它在 iOS 10 中正常工作(至少)
    • 有人可以发布一些代码来实现 b) 创建将堆栈视图固定到内容视图的所有四个边缘的约束吗?
    【解决方案3】:

    我构建了这个示例,它是一个 tableView,它使用一个包含 stackView 的单元格,并且在 stackView 中加载的视图是从一个 nib 文件中获取的。希望对你有帮助

    https://github.com/Joule87/stackView-within-TableViewCell

    【讨论】:

    • 这实际上对我有很大帮助,谢谢!我也喜欢你的扩展来加载笔尖。
    猜你喜欢
    • 2017-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-19
    • 2015-09-09
    • 2023-03-17
    • 2011-10-11
    • 2020-04-24
    相关资源
    最近更新 更多