Я использую следующий код в качестве расширения UINavigationController
нажать контроллер с пользовательской анимацией вида:толкая UITableViewController с пользовательской анимацией всегда воодушевляешь UINavigationItem Название
@implementation UINavigationController (PushAnimation)
- (void)pushViewController:(UIViewController*)controller withTransition:(UIViewAnimationTransition)transition
{
[UIView beginAnimations:nil context:NULL];
[self pushViewController:controller animated:NO];
[UIView setAnimationDuration:1.0];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationTransition:transition forView:self.view cache:YES];
[UIView commitAnimations];
}
@end
С включенным кэшированием, я получаю странное поведение анимации при нажатии UITableViewController
. Заголовок продвинутого представления появляется после завершения пользовательской анимации. С переходным стилем UIViewAnimationTransitionNone
становится ясно, что сам заголовок анимирован. Он перемещается из верхнего левого угла экрана в центр UINavigationBar
.
С отключенным кэшированием эта анимация не видна из-за ее скорости, но частота кадров значительно падает.
Как я могу предотвратить анимацию заголовка?
Я думаю, что анимация названия происходит в коде 'UINavigationBar'. Идея заключалась бы в подклассе, который также изменил бы поведение по умолчанию – adig