OSX NSTextField在选择文本时重置referencedStringValue

时间:2016-09-15 07:31:35

标签: xcode macos customization nstextfield nsnotifications

我为NSTextField设置了attributedStringValue,其中包含突出显示的字词:enter image description here

但是当我通过光标选择文本时,所有突出显示的单词都会获得通常的样式:enter image description here

我试过以下:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(controlTextDidSelected:) name:NSTextViewDidChangeSelectionNotification object:nil];

- (void)controlTextDidSelected:(NSNotification *)notification {
    self.attributedStringValue = _attrString;
}

但选择时仍然无法正常工作。

如何在选择文字时突出显示单词? 提前谢谢。

1 个答案:

答案 0 :(得分:2)

我有同样的问题。 2件事帮助我:
1.设置整个属性字符串的字体
2.允许编辑文本属性。请检查以下代码:

[self.yourTextField setAllowsEditingTextAttributes: YES];
[attrString addAttribute:NSFontAttributeName value:self.font range:NSMakeRange(0, [stringValue length])];