我有一个NSTextView,我想为它添加格式按钮(粗体、斜体等)。
现在,我有一个按钮设置为“切换”类型,有不同的图像开关状态。
切换方法检查按钮的状态并发送NSFontManager的共享实例。
NSFontManager *fontManager = [NSFontManager sharedFontManager];
if(self.writeBoldButton.state){
[fontManager addFontTrait:sender];
}else {
[fontManager removeFontTrait:sender];
}现在,我需要添加代码,以便在用户更改插入点或在NSTextView中选择新文本时更新按钮的状态。但是我如何得到正确的值呢?
发布于 2014-04-02 20:37:15
在输入问题之后,我在这方面做了更多的工作,并想出了一个可行的解决方案。下面是我最后在NSTextView的委托方法textViewDidChangeTypingAttributes:(NSNotification *)aNotification中包含的代码。
NSFont *font = [[[self manuscriptTextView]typingAttributes]objectForKey:@"NSFont"];
NSFontManager *fontManager = [NSFontManager sharedFontManager];
if ([fontManager traitsOfFont:font]==NSFontBoldTrait)
{
[[self writeBoldButton]setState:1];
}else{
[[self writeBoldButton]setState:0];
}https://stackoverflow.com/questions/22822510
复制相似问题