我在 Storyboard 中完成了 4 个部分中带有静态单元格的 UITableView。但是,我想更改一个部分的分隔符颜色([UIColor clearColor])。我怎样才能做到这一点???真的有可能吗?
我可以将整个表格的 separatorColor 设置为 clearColor,但不仅限于一个特定的部分。
表格视图部分的屏幕截图:
我在 Storyboard 中完成了 4 个部分中带有静态单元格的 UITableView。但是,我想更改一个部分的分隔符颜色([UIColor clearColor])。我怎样才能做到这一点???真的有可能吗?
我可以将整个表格的 separatorColor 设置为 clearColor,但不仅限于一个特定的部分。
表格视图部分的屏幕截图:
AFAIK没有办法做到这一点。但是您可以将背景图像放置在底部有分隔符的单元格中,并将 separatorstyle 设置为 UITableViewCellSeparatorStyleNone。因此,您在每个单元格中都有自己的分隔符。
也许您可以通过将部分的标题文本设置为空字符串来实现您的目标。
一种方法是创建您自己的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);
}