gpt4 book ai didi

objective-c - 防止 NSTextView 的字体改变

转载 作者:搜寻专家 更新时间:2023-10-30 20:26:00 26 4
gpt4 key购买 nike

我原以为这会很简单,但看来我错了。基本上,我要做的就是防止字体更改为 Apple 默认字体:Helvetica Regular 12pt。

我创建了 NSDocument 的子类,在我的实现文件中有以下方法:

- (void)windowControllerDidLoadNib:(NSWindowController*)aController
{
[super windowControllerDidLoadNib:aController];

if(attrString)
{
[[textView textStorage] setAttributedString:attrString];
[[textView textStorage] setFont:[NSFont fontWithName:@"Menlo Bold" size:24]];
}

当我打开一个文件时,这种方法工作正常,但如果我删除所有文本然后再次键入,字体将重置为...Helvetica Regular 12pt...我只想保持字体和大小正如我在程序的整个生命周期中指定的那样。

最佳答案

您需要设置 TextView 的键入属性以包含键 NSFontAttributeName 的字体。

但是,我会更进一步。如果你知道你从不想在你的模型中使用某种字体(NSTextStorage——NSTextView 的后备存储),只需继承 NSTextStorage 并覆盖属性 setter 和 getter 。 NSTextView 允许用户访问字体菜单,复制/粘贴仍然允许某些字体进入。真正保证它永远不会进入 TextView 的唯一方法是永远不允许它进入模型。

关于objective-c - 防止 NSTextView 的字体改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11357948/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com