如何在 UITableView 单元格中创建自定尺寸网格?
Posted
技术标签:
【中文标题】如何在 UITableView 单元格中创建自定尺寸网格?【英文标题】:How to create a self sizing grid in a UITableView cell? 【发布时间】:2018-09-29 09:34:51 【问题描述】:我正在尝试构建一个类似于此的 UITableView。有一些常规单元格,我希望一个单元格是这样的网格。应该正好有 20 列,并且单元格应该是方形的。所以他们需要有一个 UITableView 的宽度 / 20 的宽度和高度。包含所有这些项目的 UITableViewCell 的高度应该是这个的 5 倍。我该如何做到这一点?
【问题讨论】:
在 tableview 单元格中你尝试使用 stackview 吗? 你建议 5 个水平的 stackview 来保存项目,1 个垂直的 stackview 来保存 stackview? 是的,或者您可以放置集合视图 如何在collectionview中设置item的大小? @user3179249 实现UICollectionViewDelegateFlowLayout
方法collectionView(layout: sizeForItemAt:)
。但如果您知道单元格的确切数量,UIStackView
会更容易
【参考方案1】:
如果您知道确切的列数和行数,这很容易实现,无需任何代码,使用情节提要。
使用嵌套的 5 x 4 UIStackViews
,每个内部堆栈视图包含 20 个交替着色的 UIView
s,所有堆栈视图分布到平等填充,以及单个单元格的纵横比约束为 1:1…
等等……
当然,了解这种技术后,您可以轻松地在代码中创建相同的技术。
【讨论】:
以上是关于如何在 UITableView 单元格中创建自定尺寸网格?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UITableview 中创建具有 n 行数的 UITextField
如何从Storyboard中创建的静态UITableView中删除单元格