8

我有一个 NSTableView ,我正在使用以下代码更改行的高度:

- (CGFloat)tableView:(NSTableView *)tableView heightOfRow:(NSInteger)row
{
    return 32;
}

问题是,我的文本单元格仍然与单元格的顶部对齐,使它看起来很尴尬。我还没有弄清楚如何垂直居中它。有没有其他人找到解决这个问题的方法?

4

1 回答 1

6

请参阅“让 NSTextFieldCell 绘制垂直居中文本的“正确”方式吗?

目前没有简单的方法只使用公共 API。上面链接的问题提到,未记录的_cFlags.vCentered字段是使其工作的最快途径,尽管它不受支持并且不能保证正常工作。另外,请注意,重写方法会导致您的代码与 AppKit 所做的不同。

我刚刚为此提交了一个雷达:

http://openradar.appspot.com/9028329添加公共 API 用于在 NSCell 中垂直居中文本


编辑:这里有一些额外的相关资源:

http://www.red-sweater.com/blog/148/what-a-difference-a-cell-makes

http://www.cocoabuilder.com/archive/cocoa/174994-repositioning-an-nstextfieldcell.html

于 2011-02-20T05:17:53.407 回答