如何在 uitableviewcell 中将边距设置为零?
Posted
技术标签:
【中文标题】如何在 uitableviewcell 中将边距设置为零?【英文标题】:How do I set margins to zero in a uitableviewcell? 【发布时间】:2014-10-13 07:32:23 【问题描述】:如下面的链接所示,单元格的顶部、底部、左侧和右侧部分有一些边距/填充。如何将其设置为零?我尝试在UITableViewCell
的生命周期的-(CGRect)layoutMargins
边距中返回CGRectMake(0,0,0,0)
。
https://www.dropbox.com/s/rl95v2688k70u0j/Screenshot%202014-10-13%2003.29.08.png?dl=0
【问题讨论】:
【参考方案1】:如果您使用AutoLayout
(根据您的屏幕截图似乎是这种情况),您可以通过修改约束(您在界面生成器中看到的蓝线)来达到此目的。 AutoLayout
一开始可能很难处理,但如果遵循相当合乎逻辑的结构。如果你想深入了解它的本质并了解它是如何工作的,我可以向你推荐这个excellent video tutorial from Scotty on the topic。
另一种简单的方法是关闭 AutoLayout
并将标签设置为与单元格相同的大小,因此您使用 CGRectMake
的方法并没有那么错误,只是您需要记住它需要作为参数:x 和 y 坐标(您希望将其设置为 0,就像您已经做的那样)以及宽度和高度(您也设置为 0,但可能希望设置为等于单元格的大小)。
AutoLayout
可以在 Interface Builder 中通过删除下图中的复选标记来关闭:
【讨论】:
但我将垂直空间约束设置为 0,如下所示:dropbox.com/s/fk6fwh4o931f2ia/… 和此处:dropbox.com/s/1ca0tjj1ahfa2tf/… 想通了会在稍后发布我的答案,感谢您的帮助!以上是关于如何在 uitableviewcell 中将边距设置为零?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UITableViewCells 之间添加边距而不被黑客攻击
当我在故事板中将顶部约束设置为 0 时,如何避免 20 边距?