我的窗口中有一个NSTextView对象。 我有两个问题需要解决。
1)我的NSTextView内容在我设置的不同NSStrings之间发生变化。我想让文本更大一些,但是当应用程序初始化时,那里将没有内容。如何设置它传递给它的所有字符串可以使它们的大小更大。感谢
2)我不希望用户可以编辑我的内容,但是当我在检查器中取消选中“可编辑”时,我将无法在代码中自行更改NSTextView的内容。如何制作以便内容可能会发生变化但内容仍然无法被用户使用?谢谢!
答案 0 :(得分:1)
使用NSAttributedString
的实例设置文字视图的内容。您可以设置属性字符串,以便它们使用特定的字体大小。执行此操作时,请在app控制器的-awakeFromNib
方法中执行此操作,以解决应用程序启动时没有内容的问题。
即使重置“可编辑”标记,您仍然可以更改文本视图的内容。这只会禁止您的用户更改内容。您是否实际尝试以编程方式更改内容?
修改强>
以下是使用属性字符串的示例。关于这个主题的Apple's documentation很好地涵盖了它。如果您不使用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];