我在故事板中完成了4个部分的静态单元格UITableView。但是,我想更改一个部分的分隔符颜色([UIColor clearColor])。我怎样才能做到这一点???它真的可能吗?
我可以将separatorColor设置为整个表的clearColor,但不仅仅是针对一个特定的部分。
表格视图部分的屏幕截图:
答案 0 :(得分:1)
AFAIK没有办法解决这个问题。但是您可以将背景图像放在底部有分隔符的单元格中,并将separatorstyle设置为UITableViewCellSeparatorStyleNone。所以你在每个单元格中都有自己的分隔符。
答案 1 :(得分:0)
也许您可以通过将该部分的标题文本设置为空字符串来实现目标。
答案 2 :(得分:0)
一种方法是创建自己的UIView
子类,并在drawRect:
中创建自己的自定义绘图。您将获取此视图并将其添加为表格视图单元格的backgroundView
。像这样:
- (void)drawRect:(CGRect)rect
{
[super drawRect:rect];
// Drawing code
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 1.0);
// Draw black line
CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();
CGFloat components[] = {0.0, 0.0, 0.0, 0.3};
CGColorRef blackColor = CGColorCreate(colorspace, components);
CGContextSetStrokeColorWithColor(context, blackColor);
CGContextMoveToPoint(context, 0, rect.size.height - 1.5);
CGContextAddLineToPoint(context, rect.size.width, rect.size.height - 1.5);
CGContextStrokePath(context);
CGColorRelease(blackColor);
// Draw white bottom line
CGFloat whiteComponents[] = {1.0, 1.0, 1.0, 0.75f};
CGColorRef whiteColor = CGColorCreate(colorspace, whiteComponents);
CGContextSetStrokeColorWithColor(context, whiteColor);
CGContextMoveToPoint(context, 0, rect.size.height - 0.5);
CGContextAddLineToPoint(context, rect.size.width, rect.size.height - 0.5);
CGContextStrokePath(context);
CGColorRelease(whiteColor);
// Draw top white line
CGFloat whiteTransparentComponents[] = {1.0, 1.0, 1.0, 0.45};
CGColorRef whiteTransparentColor = CGColorCreate(colorspace, whiteTransparentComponents);
CGContextSetStrokeColorWithColor(context, whiteTransparentColor);
CGContextMoveToPoint(context, 0, 0.5);
CGContextAddLineToPoint(context, rect.size.width, 0.5);
CGContextStrokePath(context);
CGColorRelease(whiteTransparentColor);
CGColorSpaceRelease(colorspace);
}