垂直居中NSTextFieldCell?

时间:2011-02-19 17:18:14

标签: cocoa nstableview nstableviewcell

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

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

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

1 个答案:

答案 0 :(得分:6)

请参阅“Is there a “right” way to have NSTextFieldCell draw vertically centered text?

目前还没有简单的方法只使用公共API。上面提到的问题提到,未记录的_cFlags.vCentered字段是使其工作的最快路径,尽管它不受支持且无法保证正确正常工作。另外,请注意覆盖方法会导致代码偏离AppKit所做的。

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

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


编辑:以下是一些其他相关资源:

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

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