What I tried

I created a recursive function that loops over a NSMutableArray and ever time will go through this animation blog. This method is called by this code because I thought the problem why the animation on the UILabel doesn't work is, that it is not run on the main thread.

[self performSelectorOnMainThread:@selector(writeText:) withObject:_arrayAllLabels waitUntilDone:YES];

The animation has a completion block which also checks whether the animation is finished and then moves on to call the same function again. Furthermore I added an additional animation blog but nothing makes it able to add characters to the label smooth.

[UIView animateWithDuration:1.5f delay:1.0f options:UIViewAnimationOptionCurveEaseOut animations:^{ //adding next character to text attribute of UILabel } completion:^(BOOL finished) { [UIView animateWithDuration:1.0f animations:^{ if ( finished ){ [self performSelectorOnMainThread:@selector(writeText:) withObject:_arrayAllLabels waitUntilDone:YES]; } } completion:nil]; }];

What It looks like

What I found after my search wasn't right

I have been looking around for a while now and tried to find a question related to my problem but everything I found pointed only into one direction, changing the text of an UILabel to another text, no single character

stackoverflow.com/questions/26402062/changing-the-text-of-a-uilabel-makes-it-reappear-when-using-uiviewkeyframeanimat

stackoverflow.com/questions/26703501/fade-between-text-in-a-uilabel-with-delay

Can Somebody help?