NSFontPanel的问题

时间:2015-01-18 21:02:44

标签: cocoa nsfontmanager nsfontpanel

我有一个应用程序,用户需要修改样式(字体,大小,粗体,背面和前面的颜色,......) 如何在FontPanel中加载初始样式并在用户验证后获取新属性?

我尝试了很多不同的东西但没有任何成功。

由于

2 个答案:

答案 0 :(得分:3)

使用setPanelFont:isMultiple:设置最初选择的字体。

使用[NSFontManager sharedFontManager] setSelectedAttributes:isMultiple:更改初始颜色;字典键的颜色为NSForegroundColorAttributeName@"NSDocumentBackgroundColor",样式为NSUnderlineStyleAttributeNameNSStrikethroughStyleAttributeName

当字体更改时,将调用委托实例的changeFont:方法。

同上样式:changeAttributes:方法。 和文字& doc colors:setColor:forAttribute:方法。

要在changeAttributes方法中获取新属性:

NSDictionary * newAttributes = [sender convertAttributes:@{}];

答案 1 :(得分:0)

迅速4.2:

return await client({ method: "get", url: `[YOUR API ENDPOINT]`,
      responseType: "arraybuffer",
      headers: {
        "Authorization": token,
        "Accept": "application/octet-stream",
      }});

您可以找到所有属性键here的列表-旧样式常量尚未弃用,但是从10.13版本开始,它不再起作用。

要更改时收到更改通知,例如,未附加字段编辑器的标签内容,则需要设置NSFontManager.shared的目标和操作,并注册NSColorPanel.colorDidChangeNotification(NSColorChanging从FontPanel打开ColorPanel时不会触发。