gpt4 book ai didi

ios - 使用 NSManager 撤消剪贴板文本

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:42:42 26 4
gpt4 key购买 nike

我正在使用 UITextView 控件实现 NSUndoManager。如果我想撤消最后的文本更改,我可以用

// NSUndoManager *myUndoManager;  Declared in the header

if (myUndoManager.canUndo) {
[myUndoManager undo];
}

这很简单。但是,如果我像下面这样将剪贴板文本插入到 TextView 控件中,则 myUndoManager.canUndo 为空。

textview1.text = [[UIPasteboard generalPasteboard] string];

我可以在使用剪贴板文本时撤消文本更改吗?

感谢您的帮助。

最佳答案

我想我只需要手动将文本添加到堆栈。

- (IBAction)goClicked1:(id)sender {
NSString *pastetext = [[UIPasteboard generalPasteboard] string];
[self setText:pastetext];
}

- (void)setText:(NSString *)str {
NSUndoManager *undoManager = [self undoManager];
NSString *oldtext = textview1.text;
[[undoManager prepareWithInvocationTarget:self] setText:oldtext];
textview1.text = str;
}

关于ios - 使用 NSManager 撤消剪贴板文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15866055/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com