- (void)viewWillAppear:(BOOL) анимированное обнаружение пользовательской анимации

У меня есть кнопка, которая при нажатии толкает контроллер представления, однако я использую собственную анимацию, так pushViewController: childController animated: установлен на NO. Что я хочу сделать, так это обнаружить эту пользовательскую анимацию в моем - (void)viewWillAppear:(BOOL)animatedметод и напишите оператор if, как это;

- (void)viewWillAppear:(BOOL)animated { 
     if (customAnimation occured) {//Do this} 
     else {//Do this}
}

Это метод для моей кнопки, которая выдвигает контроллер вида.

- (void)nextPressed:(id)sender {
    childController = [[CategoryOneDetailController alloc] initWithNibName:xibDownName bundle:nil];
    [UIView  beginAnimations: @"Showinfo"context: nil];
    [UIView setAnimationCurve: UIViewAnimationCurveEaseInOut];
    [UIView setAnimationDuration:0.75];
    [self.navigationController pushViewController: childController animated:NO];
    [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.navigationController.view cache:NO];
    [UIView commitAnimations];
    [childController release];
}

Любая помощь будет высоко ценится, спасибо, Сами.

1 ответ

Решение

Если вы не используете стандартные анимации, я думаю, что вам лучше всего добавить свойство к контроллеру push-представления, для которого установлено YES в случае пользовательской анимации (и NO по умолчанию не нарушать существующее поведение). Затем вы можете проверить это свойство в viewDidAppear:,

Если вам нужно, чтобы ваша пользовательская логика выполнялась после запуска анимации, вы можете настроить обработчик или блок завершения анимации.

Другие вопросы по тегам