代码之家  ›  专栏  ›  技术社区  ›  arlomedia

UITextView粘贴方法的计时已更改

  •  0
  • arlomedia  · 技术社区  · 6 年前

    - (void)paste:(id)sender {
        [super paste:sender];
    
        NSString *pastedText = self.text;
        // do cleanup here
        self.text = pastedText;
    }
    

    但我刚刚意识到,当这一切开始的时候,自我.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 回复  |  直到 6 年前