我有一个UINavigationController。我有一个UIViewController,我使用pushViewController将其推入堆栈。前一个视图控制器有一个标题为“取消”的backBarButtonItem。
当新视图正确动画时,当我点击取消时,导航栏会动画,就像弹出视图一样,但新视图不会消失。我需要在某个地方实现委托吗?
答案 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];
}