2014-06-25 2 views
1

Итак, у меня есть поток в моем приложении, где все контроллеры представлений имеют одинаковый фон градиента (с использованием UIImageView).Как я могу использовать пользовательские переходы UIViewController для достижения этого?

Я представляю каждый из них по-разному с перекрестным переходом, а не с помощью навигационного контроллера, потому что я не хочу горизонтального перехода push/pop. Есть лучший способ сделать это? Возможно, используя навигационный контроллер и отключив анимацию push/pop и просто затухая/нажав элементы пользовательского интерфейса в представление?

Я хочу, чтобы это выглядело так, что фон никогда не изменяется через рабочий процесс, но элементы/элементы ui для каждого контроллера просмотра меняются.

ответ

0

Вы можете предоставить пользовательский толчок/поп-анимации, если анимация довольно легко сделать .:

[UIView animateWithDuration:0.75 
         animations:^{ 
          [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
          [self.navigationController pushViewController:nextView animated:NO]; 
          [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO]; 
         }]; 

[UIView animateWithDuration:0.75 
         animations:^{ 
          [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
          [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.navigationController.view cache:NO]; 
         }]; 
[self.navigationController popViewControllerAnimated:NO]; 

Source.


Если анимация не так просто, это прекрасно, чтобы представить свои контроллеры просматривать покадрово, если вам не нужна панель навигации, но вы должны будете предоставить свой собственный popToViewController:animated: эквивалент (так как я дону не знаю, как отклонить более одного контроллера представления).

Смежные вопросы