1

ストーリーボードで行われた4つのセクションに静的セルを持つ UITableView があります。ただし、1 つのセクション ([UIColor clearColor]) の区切りの色を変更したい。どうやってやるの???それは実際に可能ですか?

特定の 1 つのセクションだけでなく、表全体に対してセパレーター色を clearColor に設定できます。

テーブル ビュー セクションのスクリーンショット:

テーブル ビュー セクションのスクリーンショット

4

3 に答える 3

1

AFAIKこれには方法がありません。ただし、下部にセパレータがあるセルに背景画像を配置し、separatorstyleをUITableViewCellSeparatorStyleNoneに設定できます。したがって、すべてのセルに独自のセパレータがあります。

于 2012-07-22T12:45:19.403 に答える
0

セクションのヘッダーテキストを空の文字列に設定することで、目標を達成できるかもしれません。

于 2012-07-22T12:45:29.503 に答える
0

1 つのアプローチは、独自の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);
}
于 2012-07-22T13:00:27.370 に答える