导航栏返回按钮未显示

4
我有一个navigationBar,在它的标题上放了一张UIImage,像这样:

self.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"top_logo.png"]];

当我选择一行时,“返回”按钮没有出现。为什么?
我在其他视图控制器上有完全相同的代码,并且它会出现。 我不明白为什么...
谢谢, RL

当您设置navigationItem.title时,它是否会显示? - Felix
如果navigationItem.title是文本,则当我推入另一个视图控制器时,返回按钮会出现... - Rui Lopes
2个回答

9

如果您在堆栈上的上一个视图控制器(父级VC)中未设置self.navigationItem.title或'self.title',也未显式创建UIBarButtonItem并将其设置为self.navigationItem.backBarButtonItem,则返回按钮将不会出现。


@benwong 你好,标题是这样设置的:detailViewController.title=NSLocalizedString(@"Info", @"info"); - Rui Lopes
视图控制器的标题与视图控制器导航项的标题不同。 - benwong
@benwong 你好。父视图控制器:self.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"top_logo.png"]]; 子视图控制器(在父视图控制器中的didSelectRow... 方法中调用): chamadasDetalhe.title=NSLocalizedString(@"Info", @"info"); 当子视图被推出时,没有返回按钮... - Rui Lopes
好的。我刚刚亲自测试了一些东西。self.title 也可以使用。 - benwong
那会假设太多了。titleView 不一定是 UIImageView。例如,如果它是 UISegmentedControl,将其变成返回按钮就没有太多意义。 - benwong

0
你有通过导航栈推入新视图吗?
例如: [self.navigationController pushViewController:viewControllerToPush animated:YES];

1
嗨,是的。它们都使用相同类型的代码:[self.navigationController pushViewController:detailViewController animated:YES]; - Rui Lopes
我不知道发生了什么事。我有一个TabBarController,带有4个选项卡。所有的都是一样的工作方式。只有在第一个中出现了这种情况... :-( - Rui Lopes
你是如何创建选项卡栏目的? - Claudio Martins
使用IB,如果在标题中使用文本,则可以正常工作。但是,在第一个tabBarVC中使用图像,在子视图控制器中无法正常工作... - Rui Lopes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接