为什么第二次推动视图时后退按钮不显示?

时间:2011-12-31 20:30:10

标签: objective-c ios uinavigationcontroller master-detail

每次点击图片时,我都会调用此方法(在详细信息视图中推送视图):

-(IBAction) loadTeamView:(id)sender {
teamView = [[TeamViewController alloc] initWithNibName:@"TeamViewController" bundle:nil detailItem:self.detailItem];
[self.navigationController pushViewController:teamView animated:YES];
}

它可以工作,但是如果你单击后退按钮(自动出现),然后回到这个方法,则不会显示后退按钮。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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

  

导航栏左侧的条形按钮项允许   导航回导航上的前一个视图控制器   堆。导航控制器更新了左侧   导航栏如下:

     
      
  1. 如果新的顶级视图控制器具有自定义左侧栏按钮   item,显示该项目。指定自定义左栏按钮   item,设置视图控制器的leftBarButtonItem属性   导航项目。
  2.   
  3. 如果顶级视图控制器没有   自定义左栏按钮项,但前一个导航项   视图控制器的backBarButtonItem属性中有一个有效项,   导航栏显示该项目。
  4.   
  5. 如果是自定义栏按钮项目   未由任何一个视图控制器指定,默认后退按钮   使用它的标题设置为标题属性的值   以前的视图控制器 - 即视图控制器向下一级   在堆栈上。 (如果导航中只有一个视图控制器   堆栈,不显示后退按钮。)
  6.   

http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html