UITextView粘贴方法的时间已更改

时间:2018-09-06 17:31:50

标签: ios uitextview paste

多年来,我的应用程序将UITextView子类化,并覆盖了paste方法以对粘贴的文本进行一些清理:

- (void)paste:(id)sender {
    [super paste:sender];

    NSString *pastedText = self.text;
    // do cleanup here
    self.text = pastedText;
}

但是我刚刚意识到,现在运行该命令时,self.text尚未使用粘贴的文本进行更新。它仍然显示原始文本,如果该字段为空,则显示为空字符串,因此清除无效。

我不知道什么时候改变了。一位用户刚刚报告并说问题是在几周前开始的,所以最新的iOS更新11.4.1可能吗?但是我之前听到过零星的报道,因此无法复制。现在确实确实在11.4.1中发生。

我添加了以下解决方法:

- (void)paste:(id)sender {
    [super paste:sender];
    [self performSelector:@selector(pasteCleanup) withObject:nil afterDelay:0.1];
}

- (void)pasteCleanup {
    NSString *pastedText = self.text;
    // do cleanup here
    self.text = pastedText;
}

有更好的方法吗?

0 个答案:

没有答案