-2

静的な高さではなく、可変数の行を持つUITableViewがあります。

この可変高さのテーブルビューをUIView内で垂直方向に中央揃えするにはどうすればよいですか?

4

1 に答える 1

0

テーブル ビュー セルでテキストを垂直方向に中央揃えにする安価で簡単な方法の 1 つは、NSTextFieldCell をサブクラス化し、各テーブル列に対してサブクラス セルを使用するように設定することです。サブクラスでは、セルの内容を描画する四角形をインターセプトするのは簡単です。 drawInteriorWithFrame メソッドをオーバーライドし、フレームを調整してから、スーパー メソッドを呼び出します。

- (void)drawInteriorWithFrame:(NSRect)cellFrame
                        inView:(NSView *)controlView {
    // Adjust the cell frame rect so it appears vertically centered.
    NSSize contentSize = [self cellSize];
    cellFrame.origin.y += (cellFrame.size.height - contentSize.height)
/ 2.0f;
    cellFrame.size.height = contentSize.height;
    // Do whatever it is it does...
    [super drawInteriorWithFrame:cellFrame inView:controlView];
}
于 2012-07-05T12:28:18.677 に答える