- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用以下代码将 NSTextView 中的选定文本设为粗体
[self.textView.attributedString addAttribute:NSFontAttributeName value:[NSFont boldSystemFontOfSize:12] range:self.textView.selectedRange];
其中 self.textView 是 NSTextView 的导出。 Xcode 发出警告,指出 addAttribute 可能无法工作,因为该属性的类型为 NSAttributedString 而不是 NSMutableAttributedString。代码可以工作,但这样做是错误的吗?如果是这样,正确的方法是什么?
更新:
我找到了另一种方法:
NSMutableAttributedString *textFieldText = [self.textView.attributedString mutableCopy];
[textFieldText addAttribute:NSFontAttributeName value:[NSFont boldSystemFontOfSize:12] range:self.textView.selectedRange];
[self.textView.textStorage setAttributedString:textFieldText];
既然这两种方法都有效,我想知道哪种方法更好。
最佳答案
照其字面意思理解类公开的接口(interface)。假设返回类型是声明的返回类型的特定子类并不是最佳实践。
这在类集群的上下文中尤其重要:公共(public)接口(interface)的不同实现对于同一方法可能有不同的返回类型,尽管这些返回类型保证与 header 中声明的类型兼容。
假设您可以保证类簇中的所有未记录的子类当前返回 header 中声明的类型的相同特定子类,则不能保证在 Apple 框架的 future 修订版中仍然会出现这种情况。
问题是关于 NSTextView
及其属性 textStorage
。该属性的类型为 NSTextStorage,是“NSMutableAttributedString 的半具体子类”。 documentation继续,描述更改 NSTextStorage 或其属性存储的字符串的首选机制:
use the text access methods defined by NSMutableAttributedString, NSAttributedString, NSMutableString, and NSString to perform character-level manipulation.
NSTextView
公开其属性 textStorage
,它是 NSTextStorage
的实例。 NSTextStorage
是 NSMutableAttributedString
的子类。因此,我们可以简单地向其添加我们的属性:
[self.textView.textStorage addAttribute:NSFontAttributeName
value:[NSFont boldSystemFontOfSize:12.0f]
range:self.textView.selectedRange];
关于cocoa - 在 NSTextView 中将选定的文本设为粗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12743927/
如何调整 NSTextView 的文本以适合框的内容,而无需滚动?例如,如果用户输入一个长字符串,并且如果我稍后将该字符串显示为 NSTextView,我该如何使字体减小到足够小以适合该框? 最佳答案
我有一个包含格式化文本和嵌入图像的 NSTextView,如下所示。 我想将上面转换为纯文本,如下所示: Hi this is test data (...picture...)This is col
我对 Cocoa 很陌生,这可能是一个全新的问题。然而,我很沮丧。 我有一个非常简单的 Cocoa 应用程序(称为“行”)来测试将 1000 行文本发送到 TextView 。 我在 Xcode 4
我正在使用Markdown语法的Mac应用程序中的富文本编辑器上工作。我使用NSTextStorage监视Markdown语法中的匹配项,然后将样式实时应用于NSAttributedString,如下
当用户将数据粘贴到 NSTextView 中时,我需要收到通知,以便删除任何不允许的数据类型(url 链接等)。我不想使用 NSTextStorageDelegate 的 textStorageDid
我有一个继承自 NSTextView 的类,该类在初始化时使用 setContinouslySpellCheckingEnabled(true) 设置自动拼写检查,并且在聚焦时将自身设置为第一响应者。
如果您在 Mac 上安装 Microsoft Word 并打开文档,则可以通过按 Command + 2 将行距增加到 2。现在我的 cocoa 应用程序使用 NSTextView。我的用户希望应用程
NSTextView从哪里来? 在我的 OSX 应用程序中,我有一个 NSSearchField,我实现了 controlTextDidChange:,其中在键 NSFieldEditor 中包含一个
使用什么技术来创建一个包含电子邮件文本气泡的 TextView,与电子邮件中类似 最佳答案 这是一个 NSTokenField。看看它和 NSTokenFieldCell 类。如果您需要做的事情是高度
我想创建一个 TextView ,它将支持突出显示基本内容,例如链接和主题标签。类似的功能可以在 Twitter.app 中找到: 不需要支持点击这些链接,只需要在用户编辑 TextView 内容时正
我正在尝试更改 NSTextView 中的预设制表位。我发现了一个旧的帖子表单 2002,它说可以通过显示 NSTextView 的标尺然后编辑其上的选项卡来从 Interface Builder 中
我在 NSTextView 上打字时遇到挂起。 NSTextView 位于我以模态方式运行的窗口上。 [NSApp runModalForWindow:[自身窗口]]; 我不太确定是怎么回事,但我认为
我已经下载:NSTextView 突出显示:enter link description here 它按预期工作,如果您打开应用程序并输入符号“-”,它会变成红色,但后来我遇到了问题。我在.h文件中写
我正在尝试创建一个 NSTextView,其行为有点像一系列打字机页面 - 每个页面都有固定数量的可用行和列。 底层表示与显示完美匹配,而显示又与文件格式匹配。页面以换页符 '\f' 结尾。例如,两个
如何获取 NSTextView 插入符位置更改的回调? 我尝试过 KVO [textView addObserver:self forKeyPath:@"selectedRange" options:
我在 NSScrollView 中有一个 NSTextView,并且我以编程方式插入 NSView 子类作为 NSTextView 有什么方法可以让 NSTextView 接收其所有事件,即使我的 N
我的窗口上有一个 NSTextView 对象。我将 NSStrings 传递给它并显示出来。我想更改显示的文字大小。我怎么做?我是在检查器中执行此操作还是有办法在代码中执行此操作?请举个例子。谢谢!
我有一个带有 TextView 的 ScrollView 。如何找到当前选择的 TextView ? NSTextDelegate 中的委托(delegate)方法仅在您开始编辑时才起作用,而不是在首
我一定是做错了什么: 我的 Cocoa 应用程序有一个围绕自定义 View 的 ScrollView ,而自定义 View 又具有一个 TextView 。我只希望看到一个“这是一个”字符串,但角落里
我在使用 NSTextview 时遇到问题,它应该不断更新日志文件的内容。该应用程序是一个主从 UI,主视图包含一组“备份”对象,而详细 View 包含一个 NSTabView,其中一个选项卡包含 N
我是一名优秀的程序员,十分优秀!