UINavigationController不会在后退按钮上弹出视图

时间:2010-11-29 08:30:13

标签: ios uinavigationcontroller

我有一个UINavigationController。我有一个UIViewController,我使用pushViewController将其推入堆栈。前一个视图控制器有一个标题为“取消”的backBarButtonItem。

当新视图正确动画时,当我点击取消时,导航栏会动画,就像弹出视图一样,但新视图不会消失。我需要在某个地方实现委托吗?

1 个答案:

答案 0 :(得分: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];
}