如何垂直居中具有可变行数的表视图?

时间:2012-07-05 12:12:08

标签: iphone ios uitableview

我有一个UITableView,行数可变,而不是静态高度。

如何在UIView中垂直居中这个可变高度表视图?

1 个答案:

答案 0 :(得分:0)

在表格视图单元格中垂直居中文本的一种便宜且简单的方法是 你可以继承NSTextFieldCell,并为每个表列设置它 使用子类单元格。在子类中,拦截矩形 它绘制单元格内容是一个简单的事情:覆盖 drawInteriorWithFrame方法,对框架进行一些调整, 然后调用super方法。

- (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];
}