Ios 动画字符串(逐字符)不';在设置动画期间,不显示在UITextView上

Ios 动画字符串(逐字符)不';在设置动画期间,不显示在UITextView上,ios,objective-c,multithreading,jquery-animate,uitextview,Ios,Objective C,Multithreading,Jquery Animate,Uitextview,我正在尝试为NSString设置动画,并使其逐个字符显示。 虽然我在NSLog中看到该函数确实起作用,但在动画期间,文本不会显示在UITExtView上,只有在动画结束时才会显示 我的代码: - (void)viewDidAppear:(BOOL)animated { [self performSelectorOnMainThread:@selector(startAnimation) withObject:nil waitUntilDone:NO]; } #pragma mark -

我正在尝试为NSString设置动画,并使其逐个字符显示。 虽然我在NSLog中看到该函数确实起作用,但在动画期间,文本不会显示在UITExtView上,只有在动画结束时才会显示

我的代码:

- (void)viewDidAppear:(BOOL)animated
{
    [self performSelectorOnMainThread:@selector(startAnimation) withObject:nil waitUntilDone:NO];
}

#pragma mark - General Methods

- (void)animateCharacterByCharacter_text:(NSString *)text characterDelay:(NSTimeInterval)characterDelay
{
    [self.textAbout setText:@""];

    for (int i=0; i < text.length; i++)
    {
        NSString *textToSet = [NSString stringWithFormat:@"%@%c", self.textAbout.text, [text characterAtIndex:i]];
        self.textAbout.text = textToSet;

        NSLog(@"%@", textToSet);

        [NSThread sleepForTimeInterval:characterDelay];
    }
}

- (void)startAnimation
{
    NSString *stringAbout = @"sfhasdf\nhajsbdh";
    [self animateCharacterByCharacter_text:stringAbout characterDelay:0.5];
}
-(void)视图显示:(BOOL)动画
{
[self-performSelectorOnMainThread:@selector(startAnimation),对象:nil waitUntilDone:NO];
}
#pragma标记-一般方法
-(void)animateCharacterByCharacter_text:(NSString*)text characterDelay:(NSTimeInterval)characterDelay
{
[self.text关于setText:@”“;
for(int i=0;i
我也尝试过“dispatch\u async”,得到了同样的结果。
我做错了什么?

不要使用
sleepForTimeInterval:
,因为它会阻止UI更新。相反,运行计时器,每次它触发时,将下一个字符添加到文本字段(完成后取消计时器)