0

我的窗口中有一个 NSTextView 对象。我有 2 个问题需要解决。

1) 我的 NSTextView 内容在我设置的不同 NSString 之间发生变化。我想让文本更大一点,但是当应用程序初始化时,那里不会有任何内容。如何设置传递给它的所有字符串可以使它们的大小更大。谢谢

2)我不希望用户可以编辑我的内容,但是当我在检查器中取消选中“可编辑”时,我将无法在代码中自己更改 NSTextView 的内容。如何使内容可以更改但内容仍然不能被用户使用?谢谢!

4

1 回答 1

1

使用实例NSAttributedString来设置文本视图的内容。您可以设置属性字符串,以便它们使用特定的字体大小。执行此操作时,请在应用控制器的-awakeFromNib方法中执行此操作,以解决应用启动时没有内容的问题。

即使您重置了“可编辑”标志,您仍然可以更改文本视图的内容。这只禁止您的用户更改内容。您是否真的尝试过以编程方式更改内容?

编辑

以下是使用属性字符串的示例。Apple关于该主题的文档很好地涵盖了它。如果您不使用 ARC,请务必在使用完后释放attrString(或自动释放)。

NSFont *font = [NSFont fontWithName:@"Helvetica" size:24.0];
NSDictionary *attributes = [NSDictionary dictionaryWithObject:font forKey:NSFontAttributeName];
NSAttributedString *attrString = [[NSAttributedString alloc] initWithString:@"this is Helvetica at 24 points" attributes:attributes];

[[[self textView] textStorage] appendAttributedString:attrString];
于 2013-02-14T18:56:46.857 回答