我有一个 NSTableView ,我正在使用以下代码更改行的高度:
- (CGFloat)tableView:(NSTableView *)tableView heightOfRow:(NSInteger)row
{
return 32;
}
问题是,我的文本单元格仍然与单元格的顶部对齐,使它看起来很尴尬。我还没有弄清楚如何垂直居中它。有没有其他人找到解决这个问题的方法?
我有一个 NSTableView ,我正在使用以下代码更改行的高度:
- (CGFloat)tableView:(NSTableView *)tableView heightOfRow:(NSInteger)row
{
return 32;
}
问题是,我的文本单元格仍然与单元格的顶部对齐,使它看起来很尴尬。我还没有弄清楚如何垂直居中它。有没有其他人找到解决这个问题的方法?
请参阅“让 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