Почему не будет вызван этот селектор анимации? - PullRequest
2 голосов
/ 24 октября 2011

ОК, я знаю, что есть множество подобных вопросов, но по какой-то причине я не могу понять, почему, черт возьми, этот селектор обратного вызова не вызывается?

Вот два метода, которые я добавилк новому основанному на представлении шаблону.Я связал кнопку с IBAction, а UIView - с выходом redRect.

Анимация работает нормально, но по какой-то причине, которую я не могу понять, обратный вызов не вызывается.

- (IBAction)toggleView:(id)sender {
    float target;
    if (redRect.alpha == 0.0) target = 1.0;
    else target = 0.0;
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:1.0];
    [UIView setAnimationDidStopSelector:@selector(finished)];
    redRect.alpha = target;
    [UIView commitAnimations];
}

- (void)finished {
    NSLog(@"Why won't this get called?");
}

Пожалуйста, скажите мне, что я здесь делаю неправильно - это так просто, но я просто не могу понять.

Ответы [ 2 ]

2 голосов
/ 24 октября 2011

Вы забыли позвонить [UIView setAnimationDelegate:]. Иначе как бы узнать, кому звонить?

2 голосов
/ 24 октября 2011

Вы пропали без вести [UIView setAnimationDelegate:self];

...