如何为单元格设置双边框

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

我得到了以下结果...backgroundColorseparatorColor 之间似乎存在一些差距。

为什么会这样? UIView 的高度已设置为1,并且也位于UIView 的底部。

如果有更好的解决方案,有人可以对此有所了解吗?

【问题讨论】:

可能需要调整单元格高度? 为什么不使用相同的图像? @MangeshVyas - 你的意思是单元格的背景图片?我没有使用它,因为 TableView 有一个定义为背景的颜色渐变。 背景图片,甚至在单元格上方放置一张图片,然后在单元格上放置标签或其他东西。 【参考方案1】:

Michal Zygar 部分正确。

确保您的-(NSInteger)tableView:(UITableView*) heightForRowAtIndexPath:(NSIndexPath*) 正确设置为视图的高度。它不会自动为您执行此操作。

我自己建议的另一个提示是不要使用分隔符。将分隔符设置为无,然后在 XIB 文件中单元格的顶部和底部添加两个 1px 高的视图。 确保将底部两个的自动调整大小设置为仅贴在底部边缘,以防万一您想更改单元格的高度!

【讨论】:

以上是关于如何为单元格设置双边框的主要内容,如果未能解决你的问题,请参考以下文章

如何为 UICollectionView 中的单元格设置可变单元格间距

如何为 TWTR 时间轴 ViewController 设置单元格背景颜色?

如何为 Objective-C 中的每个单元格设置不同的图像?

如何为 Xib 设置单元格动态高度的约束...?

如何为 QTableView 中的单个单元格设置委托?

jface tableviewer,如何为每个单元格使用不同的单元格编辑器?