我是IOS开发的新手,目前正在开发一个涉及使用uitableviews的APP。
默认的uitableview设计是聚类的,单元格之间没有间距和边距。
我正在寻找一种方法来设计具有单元格之间垂直间距的tableview,以及边缘和单元格之间的水平间距。我还想在tableviewcell周围添加一个完整的边框,包括顶部,底部,左侧和右侧。
就像google-plus设计
我一直在查看stackoverflow一天,并且有一些黑客和解决方法。我只想要最好的方法。
答案 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];
}
标签和按钮在我的单元格中垂直居中,看起来像这样,
这些细胞实际上是邻接的,但是插入的边界给出了它们之间间隔的错觉。