如何为单元格设置双边框
Posted
技术标签:
【中文标题】如何为单元格设置双边框【英文标题】:how to have a double border for a cell 【发布时间】:2012-04-23 07:46:35 【问题描述】:我想显示一个像下图一样的双边框...
边框有深色(洋红色)和浅色(白色)(不是实际颜色)。
我为我的表格视图单元格创建了一个自定义 .xib 文件和一个扩展 UITableViewCell
的自定义类。
self.tableView.separatorColor = [UIColor whiteColor];
然后在自定义表格视图类中,我这样做了……
- (void)awakeFromNib
[super awakeFromNib];
UIView *cellBottom = [[UIView alloc] initWithFrame:CGRectMake(0, self.bounds.size.height, self.bounds.size.width, 1.0f)];
cellBottom.backgroundColor = [UIColor magentaColor]; //
[self addSubview:cellBottomView];
// ... other code
我得到了以下结果...backgroundColor
和separatorColor
之间似乎存在一些差距。
为什么会这样? UIView
的高度已设置为1
,并且也位于UIView
的底部。
如果有更好的解决方案,有人可以对此有所了解吗?
【问题讨论】:
可能需要调整单元格高度? 为什么不使用相同的图像? @MangeshVyas - 你的意思是单元格的背景图片?我没有使用它,因为 TableView 有一个定义为背景的颜色渐变。 背景图片,甚至在单元格上方放置一张图片,然后在单元格上放置标签或其他东西。 【参考方案1】:Michal Zygar 部分正确。
确保您的-(NSInteger)tableView:(UITableView*) heightForRowAtIndexPath:(NSIndexPath*)
正确设置为视图的高度。它不会自动为您执行此操作。
我自己建议的另一个提示是不要使用分隔符。将分隔符设置为无,然后在 XIB 文件中单元格的顶部和底部添加两个 1px 高的视图。 确保将底部两个的自动调整大小设置为仅贴在底部边缘,以防万一您想更改单元格的高度!
【讨论】:
以上是关于如何为单元格设置双边框的主要内容,如果未能解决你的问题,请参考以下文章
如何为 UICollectionView 中的单元格设置可变单元格间距
如何为 TWTR 时间轴 ViewController 设置单元格背景颜色?