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