Можно ли показать pushViewController
анимация похожа на presentModalViewController
, но имеет фоновые функции pushViewController
?Отображение анимации pushviewcontroller выглядит как presentModalViewController
ответ
Попробуйте это:
UIViewController *yourViewController = [[UIViewController alloc]init];
[UIView beginAnimations: @"Showinfo"context: nil];
[UIView setAnimationCurve: UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:0.75];
[self.navigationController pushViewController: yourViewController animated:NO];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO];
[UIView commitAnimations];
Вы должны рассмотреть возможность сделать что-то вроде:
ViewController *myVC = [[ViewController alloc] initWithFrame:OFF_SCREEN];
[navigationController pushViewController:myVC animated:NO];
где OFF_SCREEN некоторые CGRect ниже экрана, как (0, 481, 320, 480). Затем используйте блок анимации, чтобы настроить frame.origin представления viewcontroller как (0, 0). Вероятно, вы захотите сделать блок анимации в viewDidLoad или viewDidAppear.
Контроллеры представления не имеют инициализатора 'initWithFrame:' –
Если вы хотите к выцветанию анимации, этот подход работает.
CATransition* transition = [CATransition animation];
transition.duration = 0.3;
transition.type = kCATransitionFade;
transition.subtype = kCATransitionFromTop;
[self.navigationController.view.layer addAnimation:transition forKey:kCATransition];
[self.navigationController pushViewController:gridController animated:NO];
Работает как чемпион! Хороший переход. Благодаря! –
Эй, это отлично поработало для меня, спасибо большое !!! –
Работает красиво! Большое спасибо! – Amit
Для отображения PushViewConttroler анимации, как Present ниже код работает,
Для Пуш
ViewController *VC = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
CATransition* transition = [CATransition animation];
transition.duration = 0.4f;
transition.type = kCATransitionMoveIn;
transition.subtype = kCATransitionFromTop;
[self.navigationController.view.layer addAnimation:transition
forKey:kCATransition];
[self.navigationController pushViewController:VC animated:NO];
И POP
CATransition* transition = [CATransition animation];
transition.duration = 0.4f;
transition.type = kCATransitionReveal;
transition.subtype = kCATransitionFromBottom;
[self.navigationController.view.layer addAnimation:transition
forKey:kCATransition];
[self.navigationController popViewControllerAnimated:NO];
Существует одна проблема Тхо ugh, что его дисплей светится черным фоном при его движении вверх/вниз,
Работая над этим, как только его проделаете новый код здесь.
Помимо нажатия вы также добавили поп. Хорошая точка зрения! –
Но все равно анимационная кривая ... –
@ Джулиан, не получив свою точку. – Dilip
Спасибо! Это было действительно полезно! –
хороший пример, это поможет многим из нас, thnks xCode :) –
Любая идея о том, как это сделать с переходами в стиле iOS 8? – SleepsOnNewspapers