如何在导航应用程序中显示后退按钮?

时间:2009-10-04 01:55:36

标签: iphone cocoa-touch iphone-sdk-3.0 uinavigationcontroller uitableview

我在基于导航的应用程序中推送tableview。推送视图(viewOld)和推送视图(viewNew)都是UITableViewControllers。我从viewOld给了viewNew一个标题。一旦viewNew出现,我看到标题但左边没有后退按钮。一旦你给视图(viewNew)它的标题,不应该出现后退按钮吗?

我可以点击viewNew中导航栏左侧的空白区域,然后返回viewOld。但为什么后退按钮不可见?我在OS 3.0中这样做,但我不认为后退按钮的功能或行为与以前的版本有所不同。

从viewOld推送viewNew:

ViewNew * viewNew = [[ViewNew alloc] initWithNibName:@"ViewNew" bundle:nil];
viewNew = @"The new view";
[self.navigationController viewNew animated:YES];
[viewNew release];

2 个答案:

答案 0 :(得分:2)

后退按钮是viewOld的标题,除非viewOld的{​​{1}}设置了navigationItem,否则会覆盖它。如果backBarButtonItem没有标题且未设置viewOld,则不会显示后退按钮。

请注意,如果您要设置backBarButtonItem,则其backBarButtonItemtarget都应为action

答案 1 :(得分:1)

我遇到了同样的问题:后退按钮文本被隐藏但是当按下左侧时它起作用。

所以我找到了this

  

前几天我刚看到这个。我觉得有趣的是触摸后按钮应该实际工作的区域。   我终于决定它与后退按钮的文本有关。它从父视图控制器的标题中提取文本。如果没有标题,则按钮没有文字,如果没有文字,Apple似乎没有显示按钮。因此,要么在父控制器上指定标题,要么如果您不希望这样,我相信您可以指定后退按钮将显示的文本(这在父视图控制器中指定,而不是在子视图中指定)。

就是这样!