ios swift自定义uitablecell如何放置多个项目(标签,图像)

Posted

技术标签:

【中文标题】ios swift自定义uitablecell如何放置多个项目(标签,图像)【英文标题】:ios swift custom uitablecell how to put several items (labels, images) 【发布时间】:2017-12-25 12:47:14 【问题描述】:

我有自定义单元格,如下图所示:

我想从前缘和后缘做一个缩进,如下所示

是否可以通过使用自动布局来做到这一点? 我尝试将 +5 添加到领先约束,降低压缩阻力优先级,如 ,但它不起作用。

【问题讨论】:

分别为单元格中的第一个和最后一个组件添加前导和尾随空格约束。对于单元格中的其余组件,添加基于/依赖于单元格中第一个和最后一个组件的约束。保持抗压优先级不变。 我想我不明白自动布局是如何工作的,我将 Stackview 的分布填充,然后添加约束,例如:dropbox.com/s/hwdxrmvv2kijunk/how%20it%20is%20now.png?dl=0 并降低第一个元素但最后一个元素的抗压优先级仍然没有缩进:dropbox.com/s/1pds8okb18vi8rk/… 您应该看看自动布局的实际工作原理,然后再添加所需的约束。除非你清楚地知道它是如何工作的,否则你可能会面临更多的困难。所以看看一些关于自动布局的教程,我相信一旦你清楚了这个概念,你就会成为专业人士。 【参考方案1】:

所以你需要在左边填充 5 pt 吗?是的,您可以使用自动布局来做到这一点。您可以删除您在图像中标记的约束,而是将另一个前导约束从堆栈视图添加到单元格内容视图。

另一种选择是添加一个虚拟视图(或者更好的是,UILayoutGuide),宽度为 5 pt,位于今天标签的左侧。

【讨论】:

我想我不明白自动布局是如何工作的,我将 Stackview 的分布填充,然后添加约束,例如:dropbox.com/s/hwdxrmvv2kijunk/how%20it%20is%20now.png?dl=0 并降低第一个元素但最后一个元素的抗压优先级仍然没有缩进:dropbox.com/s/1pds8okb18vi8rk/… 好吧,我认为您不需要使用堆栈视图。只需将元素直接添加到单元格内容视图中,它应该可以正常工作。 我也试过了,但在这种情况下,我无法在元素之间设置前导/尾随约束,约束仅适用于它们所在的视图。 当然可以。只需点击控制键,然后从源元素拖动到目标元素,然后在弹出窗口中选择要添加的适当约束。 我尝试通过 ctrl+DRAG 手动操作,但它并没有使它正确。 dropbox.com/s/3gtnq9fxsehy0mc/… 结果是:dropbox.com/s/t1i41a93mo0v9qc/…(我的意思是我不能从添加新约束按钮中添加它,自动布局建议边缘在哪里)

以上是关于ios swift自定义uitablecell如何放置多个项目(标签,图像)的主要内容,如果未能解决你的问题,请参考以下文章

自定义 uitablecell 无法将表格单元连接到文件所有者

如何制作可拉伸的自定义 UITablecell

如何将 UIViewController 实例传递给自定义 UITableCell

如何为具有与内置单元格相同的布局指标的“UITableView”提供自定义“UITableCell”?

iOS-iOS uitablecell 怎么设置文字显示区域的宽度

如何检测 UITableCell 上的右滑动并显示自定义按钮而不是删除按钮