我在基于导航的应用程序中推送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];
答案 0 :(得分:2)
后退按钮是viewOld
的标题,除非viewOld
的{{1}}设置了navigationItem
,否则会覆盖它。如果backBarButtonItem
没有标题且未设置viewOld
,则不会显示后退按钮。
请注意,如果您要设置backBarButtonItem
,则其backBarButtonItem
和target
都应为action
。
答案 1 :(得分:1)
我遇到了同样的问题:后退按钮文本被隐藏但是当按下左侧时它起作用。
所以我找到了this:
前几天我刚看到这个。我觉得有趣的是触摸后按钮应该实际工作的区域。 我终于决定它与后退按钮的文本有关。它从父视图控制器的标题中提取文本。如果没有标题,则按钮没有文字,如果没有文字,Apple似乎没有显示按钮。因此,要么在父控制器上指定标题,要么如果您不希望这样,我相信您可以指定后退按钮将显示的文本(这在父视图控制器中指定,而不是在子视图中指定)。
就是这样!