Ios UINavigationController未弹出后退视图按钮

Ios UINavigationController未弹出后退视图按钮,ios,uinavigationcontroller,Ios,Uinavigationcontroller,我有一个导航控制器。我有一个UIViewController,我使用pushViewController将它推到堆栈上。上一个视图控制器有一个简单标题为“取消”的BackbarButtonim 当新视图正确地设置动画时,当我点击“取消”时,导航栏会设置动画,就像视图被弹出一样,但新视图不会消失。我需要在某处实现委托吗?试试这个 首先创建一个UIButton,然后使用自定义视图创建一个UIBarButtonItem,将UIButton视为UIBarButtonItem的自定义视图 考虑弹出视图控制

我有一个导航控制器。我有一个UIViewController,我使用pushViewController将它推到堆栈上。上一个视图控制器有一个简单标题为“取消”的BackbarButtonim

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

试试这个

首先创建一个
UIButton
,然后使用自定义视图创建一个
UIBarButtonItem
,将
UIButton
视为
UIBarButtonItem
的自定义视图

考虑弹出视图控制器的目标事件按钮

UIButton*button=[UIButton button类型:UIButtonTypeCustom]
button.frame=CGRectMake(0,0,35,35)
[按钮集图像:[UIImage ImageName:@“dots.png”]用于状态:UIControlStateNormal]
[按钮添加目标:自我操作:@选择器(backBarButton:)用于控制事件:UIControlEventTouchUpInside]

uiBarButtonim*backBarButton=[[uiBarButtonim alloc]initWithCustomView:button]

self.navigationItem.leftBarButtonim=backBarButton

-(void)backBarButton:(id)发送方{

NSLog(@“%s”,函数);

self.navigationController.navigationBarHidden=YES;

[self.navigationController PopViewController激活:是];


}

我认为这可能是一个更简单的答案。只需添加[self.navigationController popViewControllerAnimated:YES];调用button clicked事件将解决此问题。