在UITableView单元格之间添加空格并使它们成为圆角

时间:2013-06-06 18:16:20

标签: ios

我有一个UItableView,我在其中加载RSS。我想在表格视图中的每个单元格之间留一个空格,并为每个单元格提供圆角,以产生类似这样的效果:

enter image description here

问题在于我似乎无法找到工作代码。使用:

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return 10.; // you can have your own choice, of course
}

只在UITableView上添加空间......

4 个答案:

答案 0 :(得分:2)

创建此UI的最简单方法是创建一个自定义UITableViewCell,如果您可以创建一个带有圆角的灰色背景的.png文件,那么底部会有额外的空间,或者您可以使用view.layer.cornerRadius围绕角落(不要忘记为cornerRadius添加QuartzCore),添加标签和箭头就是这样。

答案 1 :(得分:2)

无需自定义任何内容。

您必须使用“groupedStyle”初始化tableView。或者,如果您使用的是故事板,请在那里设置样式。然后将tableView背景颜色设置为您想要的任何颜色。

myTableViewContoller = [[UITableViewController alloc] initWithStyle:UITableViewStyleGrouped];

heightForHeaderInSection是针对部分而不是行。 如果出于某种原因你真的需要,你可以做heightForRowAtIndexPath。

答案 2 :(得分:0)

您可以先将单元格设置为清晰的彩色背景,然后添加一个应小于单元格的圆角视图。这使得它看起来像是在单元格周围产生间距。

答案 3 :(得分:0)

这是一个较旧的,但我最近遇到了这个问题。如果您的单元格有自定义的uiTableViewCell类,请将其添加到类的.m文件的底部(在@end之上)

- (void)setFrame:(CGRect)frame {
    frame.origin.y += 4;
    frame.size.height -= 2 * 5;  //adds the space and gives a 5 point buffer, can also indent the width using frame.size.width
    [super setFrame:frame];
}