4

次の画像のように二重枠で表示したい...

二重枠-デザイン

境界線には、暗い色(マゼンタ)と明るい色(白)があります(実際の色ではありません)。

UITableViewCellテーブルビューセル用に拡張するカスタム.xibファイルとカスタムクラスを作成しました。

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
}

次の結果が得られました...との間backgroundColorにギャップがあるようseparatorColorです。

二重境界線-実装

なぜこうなった?の高さはUIViewに設定されており1、下部にも配置さUIViewれています。

これに対するより良い解決策があれば、誰かがそれに光を当てることができますか?

4

1 に答える 1

1

MichalZygarは部分的に正しいです。

-(NSInteger)tableView:(UITableView*) heightForRowAtIndexPath:(NSIndexPath*)ビューの高さに正しく設定されていることを確認してください。自動的にそれを行うわけではありません。

私が自分でやるときに提案するもう1つのヒントは、セパレーターを使用しないことです。セパレータをnoneに設定してから、XIBファイルのセルの上部と下部に2つの1px-heighビューを追加します。
セルの高さを変更する場合に備えて、下の2つの自動サイズ設定が下端のみに固定されるように設定してください。

于 2012-08-21T11:15:40.627 に答える