У меня есть два UITableViewController, так что, когда я нажимаю «Далее» на первом UITableViewController, второй UITableViewController помещается в стек навигации и анимирует переход как обычно. Я бы хотел, чтобы при нажатии кнопки «Далее» анимировались только виды, а панель навигации - нет (остается прежней). Я подошел очень близко к этому с кодом ниже:
- (void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
CATransition *navTransition = [CATransition animation];
navTransition.duration = .5;
navTransition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
navTransition.type = kCATransitionPush;
navTransition.subtype = kCATransitionPush;
[self.navigationController.navigationBar.layer addAnimation:navTransition forKey:nil];
}
Я поставил этот код, а также сделал так, чтобы заголовок и кнопки на обеих панелях навигации были одинаковыми в каждом UITableViewController. Это почти работает, проблема в том, что панель навигации мигает, когда происходит анимация. Есть ли способ заставить его не мигать, или есть какой-то другой хороший способ предотвратить появление анимации панели навигации (т.е. отключить анимацию на слое или что-то в этом роде)?
ОБНОВЛЕНИЕ: У кого-нибудь есть другие идеи? Все еще борюсь с этим.