OSX NSTextField 在选择文本时重置 attributedStringValue
OSX NSTextField resets attributedStringValue when text is selected
我为 NSTextField 设置 attributedStringValue
并突出显示单词:
但是当我 select 通过光标输入文本时,所有突出显示的单词都会采用通常的样式:
我试过以下方法:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(controlTextDidSelected:) name:NSTextViewDidChangeSelectionNotification object:nil];
- (void)controlTextDidSelected:(NSNotification *)notification {
self.attributedStringValue = _attrString;
}
但在 selecting 时仍然无法工作。
如何在文本 selected 时突出显示单词?
提前致谢。
我遇到了同样的问题。 2 件事对我有帮助:
1. 为整个属性字符串设置字体
2.允许编辑文本属性。请检查以下代码:
[self.yourTextField setAllowsEditingTextAttributes: YES];
[attrString addAttribute:NSFontAttributeName value:self.font range:NSMakeRange(0, [stringValue length])];
我为 NSTextField 设置 attributedStringValue
并突出显示单词:
但是当我 select 通过光标输入文本时,所有突出显示的单词都会采用通常的样式:
我试过以下方法:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(controlTextDidSelected:) name:NSTextViewDidChangeSelectionNotification object:nil];
- (void)controlTextDidSelected:(NSNotification *)notification {
self.attributedStringValue = _attrString;
}
但在 selecting 时仍然无法工作。
如何在文本 selected 时突出显示单词? 提前致谢。
我遇到了同样的问题。 2 件事对我有帮助:
1. 为整个属性字符串设置字体
2.允许编辑文本属性。请检查以下代码:
[self.yourTextField setAllowsEditingTextAttributes: YES];
[attrString addAttribute:NSFontAttributeName value:self.font range:NSMakeRange(0, [stringValue length])];