我想在NSTextView中替換部分文本後實現撤消操作。我用下面的代碼如何使用NSTextview實現撤消
- (void)omeAction
{
NSString *fullString = [self.textView string];
NSRange selectedRange = [self.textView selectedRange];
NSString *selectedString = [fullString substringWithRange:selectedRange];
NSString *stringToReplace = ...;
[[self.textView textStorage] beginEditing];
[[self.textView textStorage] replaceCharactersInRange:selectedRange withString:stringToReplace];
[[self.textView textStorage] endEditing];
}
替換文本的一部分在執行撤消我真的無法撤消的文本替換
道歉,沒看過完整的問題。我認爲這是一般的撤銷(模糊的問題標題)。在我的情況下,撤消根本不起作用,結果是nstextview根本沒有註冊某些關鍵事件。無視 – 2017-03-08 14:56:45
謝謝,shouldChangeTextInRange幫助啓動撤消正常工作 – 2017-10-18 18:13:11