【问题标题】: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 有一个定义为背景的颜色渐变。
  • 背景图片,甚至在单元格上方放置一张图片,然后在单元格上放置标签或其他东西。

标签: ios uiview uitableview


【解决方案1】:

Michal Zygar 部分正确。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-22
    • 1970-01-01
    • 2019-03-14
    • 1970-01-01
    • 1970-01-01
    • 2013-03-23
    • 2013-09-30
    相关资源
    最近更新 更多