如何为单元格设置双边框

时间:2012-04-23 07:46:35

标签: ios uiview uitableview

我希望显示如下图所示的双边界...

double border - design

边框有深色(洋红色)和浅色(白色)(不是实际颜色)。

我为表视图单元创建了一个自定义.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之间似乎存在一些差距。

double border - implementation

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

如果有更好的解决方案,那么有人会对此有所了解吗?

1 个答案:

答案 0 :(得分:1)

Michal Zygar部分正确。

确保您的-(NSInteger)tableView:(UITableView*) heightForRowAtIndexPath:(NSIndexPath*)已正确设置为视图的高度。它并不会自动为您做到这一点。

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