UITableViewCell 的左右边距

Posted

技术标签:

【中文标题】UITableViewCell 的左右边距【英文标题】:Right and left margin to UITableViewCell 【发布时间】:2013-11-28 13:31:28 【问题描述】:

我创建了以下 UITableViewCells 并将背景设置为白色。

(黑框为模拟器框)。

我想为单元格添加左右边距。

我查看了许多问答,他们都建议使用 UiImageView 自定义单元格。还有其他方法吗?

【问题讨论】:

你是使用storyboard还是原生代码来创建tableview 我使用的是故事板,但是在 UIViewController 中实现了 delegates 方法,它有一个 UITableView 也许你可以试试tableview分组样式 我将样式更改为组样式,但没有添加边距 每个边距你的意思是图片中灰色的边框? 【参考方案1】:

添加UIView作为单元格的contentView:

cellForRowAtIndexPath

UIView *viewLeft = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, heightOfTheCell)];
viewLeft.backgroundColor = [UIColor redColor];
[cell.contentView addSubview:viewLeft];


UIView *viewRight = [[UIView alloc] initWithFrame:CGRectMake(310, 0, 10, heightOfTheCell)];
viewRight.backgroundColor = [UIColor redColor];
[cell.contentView addSubview:viewRight];

这样你就可以有圆角了:

[cell.layer setCornerRadius: 5];
[cell.layer setMasksToBounds:YES];
[cell.layer setBorderWidth:2.0f]
CGColorRef colorRed = [[UIColor redColor] CGColor];
[cell.layer setBorderColor:colorRed];

【讨论】:

我现在唯一关心的..如果我想让单元格有圆角怎么办?我将无法看到它们,因为视图会隐藏它 @Dejel 我忘了告诉你圆角必须添加 QuartzCore 框架 我想将圆角添加到白色背景中,而不是添加到红色背景中 @Dejel 你好,我也遇到了和你一样的问题,你解决了吗?请 如果你的宽度不再是 320 像素怎么办?您将需要相应地手动重新计算宽度、角半径和边框宽度。有没有办法在 NSLayoutConstraint 或其他方法中做?

以上是关于UITableViewCell 的左右边距的主要内容,如果未能解决你的问题,请参考以下文章

自动布局 - 带有 ImageView 的 UITableViewCell - 边距?

UITableViewCell:如何在视网膜显示上给内置的 imageView 一个边距

在分组的 TableView 布局中增加 UITableViewCell 的宽度

UITableviewcell的性能问题

UITableviewcell 是错误的数据

具有自定义 UITableViewCell 的 UITableView 上的单元格之间的间距/边距