- (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:
,
Если вам нужно, чтобы ваша пользовательская логика выполнялась после запуска анимации, вы можете настроить обработчик или блок завершения анимации.