隐藏 UINavigationBar 的标题?

发布于 2024-09-29 17:56:13 字数 41 浏览 5 评论 0原文

有什么方法可以隐藏 UINavigationBar 中的标题视图吗?

Is there any way to hide the title view in a UINavigationBar?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

往事风中埋 2024-10-06 17:56:13

self.navigationItem.titleView = [[UIView alloc] initWithFrame:CGRectZero];
self.title = @"Home";

设置为 nil 将不会像文档中所述那样工作:
如果此属性值为 nil,则当接收器是顶部项目时,导航项目的标题将显示在导航栏的中心。如果将此属性设置为自定义标题,则会显示该属性而不是标题。

self.navigationItem.titleView = [[UIView alloc] initWithFrame:CGRectZero];
self.title = @"Home";

Setting to nil will NOT work as described in documentation:
If this property value is nil, the navigation item’s title is displayed in the center of the navigation bar when the receiver is the top item. If you set this property to a custom title, it is displayed instead of the title.

热血少△年 2024-10-06 17:56:13

titleView 是一个 UIView :

标题视图
当执行此操作时,导航栏中央显示的自定义视图
item 是顶部项目。

@property(非原子,保留)UIView *titleView

所以我想你可以尝试这个:

[titleView setHidden:YES];

The titleView is a UIView :

titleView
A custom view displayed in the center of the navigation bar when this
item is the top item.

@property(nonatomic, retain) UIView *titleView

So I think you can try this :

[titleView setHidden:YES];
纵情客 2024-10-06 17:56:13

保留后退按钮的另一个选项(如此处回答:https://stackoverflow.com/a/23113326/1156575) :

[self.navigationController.navigationBar setTitleTextAttributes:@{
    NSForegroundColorAttributeName : [UIColor clearColor]
}];

Another option which preserves the back button (as answered here: https://stackoverflow.com/a/23113326/1156575):

[self.navigationController.navigationBar setTitleTextAttributes:@{
    NSForegroundColorAttributeName : [UIColor clearColor]
}];
走野 2024-10-06 17:56:13

对我来说,Swift 中的解决方案需要位于我的导航栏子类中:

self.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.clearColor()]

使用清晰的颜色,标题就会消失。正如 Josema 所描述的,您还可以通过从导航控制器访问导航栏来执行此操作:

self.navigationController!.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.clearColor()]

For me the solution in swift needed to be in my navigationbar subclass:

self.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.clearColor()]

With the clear color the title disappears. As Josema described, you can also do this by accessing the navigationbar from your navigationcontroller:

self.navigationController!.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.clearColor()]
柠檬色的秋千 2024-10-06 17:56:13

这对我有用:

self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor: UIColor.clear]

This is what worked for me:

self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor: UIColor.clear]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文