gpt4 book ai didi

Cocoa 改变 NSTextView 的属性

转载 作者:行者123 更新时间:2023-12-03 17:55:07 25 4
gpt4 key购买 nike

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

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

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

最佳答案

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

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

编辑

下面是使用属性字符串的示例。 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];

关于Cocoa 改变 NSTextView 的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14878728/

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