【发布时间】:2017-02-25 01:18:44
【问题描述】:
我有一个子类NSTextView,我想修改用户输入(基于偏好)以用空格替换制表符。到目前为止,我已将 insertTab 方法修改为如下所示:
- (void) insertTab: (id) sender
{
if(shouldInsertSpaces) {
[self insertText: @" "];
return;
}
[super insertTab: sender];
}
但我也想在粘贴事件期间替换空格。我想到的一种解决方案是修改 NSTextStorage replaceCharacter:with: 方法,但我发现如果我将数据加载到文本视图中,它会替换文本。具体来说,我只想修改用户手动输入的文本。
found here 的解决方案建议修改粘贴板,但我不想这样做,因为我不想在用户粘贴到其他地方时弄乱粘贴板。有没有人对我如何做这件事有任何其他建议?
【问题讨论】:
标签: macos cocoa nstextview