Objective c 为什么';我第二次按视图时,后退按钮不显示吗?

Objective c 为什么';我第二次按视图时,后退按钮不显示吗?,objective-c,ios,uinavigationcontroller,master-detail,Objective C,Ios,Uinavigationcontroller,Master Detail,每次单击图片时,我都会调用此方法(将视图推送到局部视图上): 它可以工作,但如果您单击“后退”按钮(自动弹出),然后返回此方法,则不会显示“后退”按钮。有什么想法吗?确保您没有更改视图控制器的导航项属性的内容。根据文档,导航控制器遵循左侧导航栏按钮的以下规则: 导航栏左侧的栏按钮项允许 导航返回到导航上的上一个视图控制器 堆栈导航控制器将更新导航框的左侧 导航栏如下所示: 如果新的顶级视图控制器具有自定义左栏按钮 项目,将显示该项目。指定自定义左栏按钮的步骤 项,设置视图控制器的 导航项 如果顶

每次单击图片时,我都会调用此方法(将视图推送到局部视图上):


它可以工作,但如果您单击“后退”按钮(自动弹出),然后返回此方法,则不会显示“后退”按钮。有什么想法吗?

确保您没有更改视图控制器的
导航项
属性的内容。根据文档,导航控制器遵循左侧导航栏按钮的以下规则:

导航栏左侧的栏按钮项允许 导航返回到导航上的上一个视图控制器 堆栈导航控制器将更新导航框的左侧 导航栏如下所示:

  • 如果新的顶级视图控制器具有自定义左栏按钮 项目,将显示该项目。指定自定义左栏按钮的步骤 项,设置视图控制器的 导航项
  • 如果顶级视图控制器没有 自定义左栏按钮项,但上一个按钮的导航项 视图控制器的BackBarButtonim属性中有一个有效项, 导航栏将显示该项目
  • 如果自定义栏按钮项为 不是由任何一个视图控制器指定的,默认的后退按钮 使用,并且其标题设置为的标题属性的值 上一个视图控制器,即向下一级的视图控制器 在堆栈上。(如果导航上只有一个视图控制器 堆栈,不显示后退按钮。)

  • 考虑不存储正在推送的ViewController。没有必要存储它,它只会导致类似这样的问题。感谢您的响应,但不幸的是“后退”按钮仍然会消失。您还泄漏了teamview。将自动释放放在行的末尾,除非有很好的理由保留它。它们没有被弃用。ARC仍然是可选的。内存管理,通过ARC或手动,仍然是软件开发中不可或缺的一部分,不应该被忽视。也许你正在用vewDid(will)做一些事情。你能发更多的代码吗?
    -(IBAction) loadTeamView:(id)sender {
    teamView = [[TeamViewController alloc] initWithNibName:@"TeamViewController" bundle:nil detailItem:self.detailItem];
    [self.navigationController pushViewController:teamView animated:YES];
    }