我想让用户更改基于视图的字体NSTableView
。我正在使用 Cocoa 绑定和核心数据。在我的测试代码中,我确实有一个changeFont:
方法会在我按下与字体相关的组合键时立即被调用,例如cmd-I
or cmd-B
,但到目前为止我在更改表格视图的实际字体方面没有运气:
- (void)changeFont:(id)sender
{
NSFont *oldFont = [self.airportTableView font];
NSFont *newFont = [sender convertFont:oldFont];
NSLog(@"sender: %@ oldfont: %@, newFont: %@ fontmanager selected: %@, font panel selected: %@",
sender, oldFont, newFont, [sender selectedFont], [sender convertFont:[sender selectedFont]]);
[self.airportTableView setFont:newFont];
}
产生以下输出:
sender: <NSFontManager: 0x6080000b4580> oldfont: (null), newFont: (null) fontmanager selected: (null), font panel selected: (null)
即使是这个微不足道的代码:
font = [NSFont boldSystemFontOfSize:12];
[self.airportTableView setFont:font];
NSFont *oldFont = [self.airportTableView font];
NSLog(@"oldfont: %@",oldFont);
只会导致:
oldfont: (null)
任何一种灵魂都可以提供一些允许用户更改 NSTableView 字体的代码吗?