导航栏标题的隐藏

5
我有一个名为“back”的视图。我需要隐藏导航栏的标题,因为我有自定义的导航栏。
我尝试使用以下代码,但它没有起作用!
self.title = @"back";
self.navigationController.navigationItem.titleView.hidden = YES;
5个回答

11

我刚面临了同样的问题,解决方法是:

self.title = @"YourTitle";
self.navigationItem.titleView = [[UIView alloc] init];

达到了预期效果。下一个视图将使用YourTitle标签作为返回按钮的标签,但在第一个视图中,标题不会被显示。


9

如果您想隐藏整个导航栏并使用自己的导航栏,您可以首先隐藏导航控制器的导航栏。

[self.navigationController setNavigationBarHidden:YES];

或者如果您只想隐藏标题,可以执行以下操作
self.title = @"";

如果您使用了导航栏的自定义标题视图,您可以进行以下操作:
self.navigationItem.titleView.hidden = YES;

如果你想隐藏返回按钮,可以这样做:

或者如果你想隐藏后退栏按钮项目,你可以执行以下操作

self.navigationItem.hidesBackButton = TRUE;

我只需要隐藏标题。 - Dany
所以只使用 self.title = @"" - akashivskyy
我使用了一个带有图像的自定义导航栏。我给视图命名为“back”,并且只需要隐藏标题。我尝试了你的解决方案self.navigationItem.titleView.hidden = YES;但是没有起作用! - Dany
4
如果我在第二个视图中使用了self.title = @"",那么我将没有导航控制器的返回按钮。 - Dany

2

我遇到了同样的问题,我只需要创建一个虚假的UIView来填充titleView属性并将其隐藏:

UIView *fakeTitleView = [[UIView alloc] init];
fakeTitleView.hidden = YES;
[self.navigationItem setTitleView:fakeTitleView];
[fakeTitleView release];

希望这能有所帮助。

1
另一个选项可以保留后退按钮:
[self.navigationController.navigationBar setTitleTextAttributes:@{
    NSForegroundColorAttributeName : [UIColor clearColor]
}];

0

Swift

self.navigationItem.title = "your title" // So title shows nav "back" button
self.navigationItem.titleView = UIView() // To hide the title on this View Controller

我把它放在viewWillAppear


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