Cocoa 如何为NSTextView设置粗体格式按钮的状态?
我有一个NSTextView,我想为它添加格式按钮(粗体、斜体等) 现在,我有一个按钮设置为“切换”类型,不同的图像用于打开/关闭状态 toggle方法检查按钮的状态并发送NSFontManager的共享实例Cocoa 如何为NSTextView设置粗体格式按钮的状态?,cocoa,nstextview,nsfontmanager,Cocoa,Nstextview,Nsfontmanager,我有一个NSTextView,我想为它添加格式按钮(粗体、斜体等) 现在,我有一个按钮设置为“切换”类型,不同的图像用于打开/关闭状态 toggle方法检查按钮的状态并发送NSFontManager的共享实例 NSFontManager *fontManager = [NSFontManager sharedFontManager]; if(self.writeBoldButton.state){ [fontManager addFontTrait:send
NSFontManager *fontManager = [NSFontManager sharedFontManager];
if(self.writeBoldButton.state){
[fontManager addFontTrait:sender];
}else {
[fontManager removeFontTrait:sender];
}
现在,我需要添加代码,每当用户更改插入点或在NSTextView中选择新文本时,都会更新按钮的状态。但是如何得到正确的值呢 在输入问题后,我在这方面做了更多的工作,并提出了一个有效的解决方案。下面是我最终包含在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];
}
请查看此代码=>