IOS tableview设计具有边距和间距的块状单元格

时间:2014-10-25 14:31:26

标签: ios objective-c uitableview

我是IOS开发的新手,目前正在开发一个涉及使用uitableviews的APP。

默认的uitableview设计是聚类的,单元格之间没有间距和边距。

我正在寻找一种方法来设计具有单元格之间垂直间距的tableview,以及边缘和单元格之间的水平间距。我还想在tableviewcell周围添加一个完整的边框,包括顶部,底部,左侧和右侧。

就像google-plus设计

Google Place tableviewcell Design

我一直在查看stackoverflow一天,并且有一些黑客和解决方法。我只想要最好的方法。

1 个答案:

答案 0 :(得分:2)

如果您将表格视图的分隔符样式设置为"无"并将您的单元格的任何子视图放置在远离单元格边缘的位置,看起来好像单元格之间有空格。如果您希望在内容周围有边框(但不是单元格的实际边缘以保持单元格之间的空间错觉),则可以向单元格添加子图层,边框与单元格的边缘相交。所以,在UITableViewCell子类中,你可以有这样的东西,

- (void)didMoveToSuperview {
    CALayer *insetLayer = [CALayer new];
    insetLayer.frame = CGRectInset(self.layer.bounds, 20, 20);
    insetLayer.borderWidth = 2;
    insetLayer.borderColor = [UIColor blueColor].CGColor;
    insetLayer.cornerRadius = 4;
    [self.layer addSublayer:insetLayer];
}

标签和按钮在我的单元格中垂直居中,看起来像这样,

enter image description here

这些细胞实际上是邻接的,但是插入的边界给出了它们之间间隔的错觉。