У меня есть проект iOS с UINavigationController.
Когда я pushviewcontroller с
Animated = ДА
[self.navigationController pushViewController:viewController animated:YES];
верхний leftbarbuttonitem (с изображением) позиционируется хорошо.
Но если я установлю pushviewcontroller с
Animated = НЕТ
[self.navigationController pushViewController:viewController animated:NO];
верхний leftbarbuttonitem (с изображением) расположен не на том же месте, что и предыдущий. Есть у кого-нибудь идеи?
ОБРАЗЕЦ КОДА
- (void)addBackButtonWithoutAnimation {
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
UIImage *closeImage = [UIImage imageNamed:@"icon_back"];
UIBarButtonItem *closeBackButton = [[UIBarButtonItem alloc] initWithImage:closeImage style:UIBarButtonItemStylePlain target:self action:@selector(closeBackButtonwithoutAnimationDidClick)];
self.navigationItem.leftBarButtonItem = closeBackButton;
self.navigationItem.hidesBackButton = YES;}
Да, заменить на изображение
можешь вставить код и куда его положить?
Готово Отредактировал мой пост =)
в ViewDidLoad вы вызываете addBackButtonWithoutAnimation, верно?
Нет, я называю это во ViewWillAppear
в ViewDidLoad он такой же? Обычно я бы инициализировал кнопки возврата в Appdelegate. но ваш способ тоже должен работать.
Да, работает, но позиция немного не та
попробуйте перенести эту логику в метод ViewDidApper
@ wes.i Я считаю, что вы должны использовать одно и то же изображение «icon_back» при нажатии с анимацией и без нее, в противном случае проблема может быть связана с изображением.





Вы вносили какие-либо изменения в кнопку «Назад»? вроде заменить на изображение или что-то в этом роде?