Возможно, лучше подкласс UIViewController иметь определенную настройку для своего стиля фона и навигации. Например, в методе viewDidLoad вашего подкласса UIViewController установите его фон на определенное изображение. Вы также можете использовать это, чтобы создать свою навигационную панель (определенные цвета для barButtonItems и т. Д.). Затем каждый новый контроллер просмотра, который вы создаете, является подклассом вашего скин-контроллера.
Если ваш фон является изображением, вы по-прежнему будете получать необычные эффекты анимации, когда новый контроллер представления будет скользить в верхней части старого; фон также будет скользить. В зависимости от того, каким образом вы хотите сделать свою анимацию перехода, вы можете делать все, чтобы играть с представлениями во время перехода. UIPresentationController может представить некоторые решения для создания более настраиваемого анимированного перехода.
Редактировать: Чтобы подражать приложению «Отель сейчас», я сделал UINavigationController с изображением в качестве фона и контроллерами сверху с ясным фоном. При нажатии, я анимацию альфа первого контроллера до 0 в то время как segue происходит. По возвращению, я установил альфа обратно к 1.
-(void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
self.view.alpha = 1;
}
-(void)didClickButton:(id)sender {
[UIView animateWithDuration:.25 animations:^{
self.view.alpha = 0;
}];
// the transition itself is a push segue defined in the storyboard
}
Я считаю, что фон отеля приложение хорошо работает с этим методом, так как это очень темно. Не уверен, что это будет очень эффективно для более ярких приложений или приложений с большим количеством контента в контролируемом контроллере.
ваше видео скрыто. –
Извинения, iMovie установить его как скрытый. Теперь это исправлено. – dusker