2010-11-29 5 views
0

У меня есть UINavigationController. У меня есть UIViewController, который я нажал на стек, используя pushViewController. Предыдущий контроллер просмотра имеет backBarButtonItem просто под названием «Отмена».UINavigationController не появляется на задней кнопке

В то время как новый вид анимируется правильно, когда я нажимаю Отмена, панель навигации анимируется, как если бы вид был всплывающим, но новый вид не исчезает. Нужно ли мне где-то реализовать делегат?

ответ

1

Попробуйте это,

Сначала Создать UIButton затем создать один UIBarButtonItem с пользовательской точки зрения, учитывая UIButton как настраиваемое представление для UIBarButtonItem.

Рассматривать кнопку для целевого события для вызова контроллера просмотра.

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0, 0, 35, 35);
[button setImage:[UIImage imageNamed:@"dots.png"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(backBarButton:) forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem *backBarButton = [[UIBarButtonItem alloc] initWithCustomView:button];

self.navigationItem.leftBarButtonItem = backBarButton;

- (void)backBarButton:(id)sender {
NSLog(@"%s", __FUNCTION__);
self.navigationController.navigationBarHidden = YES;
[self.navigationController popViewControllerAnimated:YES];
}

+0

Я думаю, что это может быть простой ответ. Просто добавьте [self.navigationController popViewControllerAnimated: YES]; вызов в событии, нажатом на кнопку, решит проблему. – marionmaiden 2014-02-02 16:07:39

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