2010-03-28 83 views
0

由于某些原因,如果我尝试使用左上角的后退按钮返回主菜单,则只有标题返回到前一个菜单,而不是视图控制器。只有当我使用其他按钮显式调用popViewControllerAnimated时,视图控制器才会返回到上一个菜单。导航控制器的后退按钮不起作用!

有没有办法解决这个问题?我想我已经编写了错误的代码。试图谷歌搜索,但无法找到像我的任何案件。

+2

您需要发布您的代码。 – 2010-03-28 01:19:12

+0

您是如何从前一页导航到此页面的? 请把你的代码... – 2010-03-28 06:03:22

回答

0

我得到完全相同的问题。这里是我的代码:

- (IBAction) showGameView:(id) sender { 
    gameView = [[TCGameViewController alloc] initWithNibName:@"TCGameViewController" bundle:[NSBundle mainBundle]]; 
    [self.navigationController pushViewController:gameView animated:YES]; 
    [gameView release]; 
} 

,当我与gameView做,我这样做:

[self.navigationController setNavigationBarHidden:NO animated:YES]; 

但是当我按下“返回”按钮循环通过导航栏它所做的一切,但从来不会弹出视图。我甚至不知道如何调试它。

在我的另一个视图中,“infoView”我调用与以前相同的代码,除了NavBar从不隐藏,但它工作得很好。

help!当您覆盖您的自定义视图控制器下面的方法可以发生

0

此问题:

- (UINavigationItem*)navigationItem 

但你不指定的UIBarButtonItem为返回UINavigationItemleftBarButtonItem财产。

如果您使用自定义navigationItem,并希望标准后退按钮功能,可以按如下方式添加一个方法(记住,每一个的UIViewController具有对navigationController的引用containts吧):

- (void)backButtonTapped 
{ 
    [self.navigationController popViewControllerAnimated:YES]; 
} 
定制navigationItem如下

然后设置部分:

- (UINavigationItem*)navigationItem 
{ 
    UIBarButtonItem* newLeftBarButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" 
                     style:UIBarButtonItemStyleBordered 
                     target:self 
                     action:@selector(backButtonTapped)]; 

    UINavigationItem* navigationItem = [[[UINavigationItem alloc] init] autorelease]; 

希望这有助于。

相关问题