Как сделать мигающий (или мигающий) курсор на iphone?

Я пытаюсь создать пользовательский «мигающий курсор» в UIKit, я пробовал, как показано ниже, имея 2 функции, которые в основном продолжают вызывать друг друга, пока курсор не будет скрыт. Но это приводит к хорошей бесконечной рекурсии ... по какой-то причине функции вызывают друг друга сразу, а не каждую полсекунду, как ожидалось.

Я попытался вернуть, если параметр 'Finished' не YES (раскомментировав строку 'if (! Ok)'), но это вообще не приводит к анимации ...

Есть идея получше? Я что-то упустил, есть ли намного более простой способ сделать "мигающий курсор"?

- (void)onBlinkIn:(NSString *)animationID finished:(BOOL)ok context:(void *)ctx {
if (cursorView.hidden) return;
//if (!ok) return;
[UIView beginAnimations:nil context:UIGraphicsGetCurrentContext()];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:0.5f];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(onBlinkOut:finished:context:)];
cursorView.textColor = [UIColor grayColor];
[UIView commitAnimations];
}

- (void)onBlinkOut:(NSString *)animationID finished:(BOOL)ok context:(void *)ctx {
if (cursorView.hidden) return;
[UIView beginAnimations:nil context:UIGraphicsGetCurrentContext()];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:0.5f];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(onBlinkIn:finished:context:)];
cursorView.textColor = [UIColor clearColor];
[UIView commitAnimations];
}

Ответы на вопрос(5)

Ваш ответ на вопрос