在 IOS 7 导航栏问题上显示视图控制器

Posted

技术标签:

【中文标题】在 IOS 7 导航栏问题上显示视图控制器【英文标题】:Presenting view controller on IOS 7 navigation bar issue 【发布时间】:2013-09-17 07:10:25 【问题描述】:

我已下载 Xcode 5 GM 种子并尝试在其上运行我的应用程序。

我为导航栏设置了一个黑色图像,在 ios 7 上完美运行。

但是每当我展示一个视图控制器时,导航栏图像都没有正确设置。它正在显示一个补丁。

代码:

[self.navigationController.navigationBar setBackgroundColor:[UIColor blackColor]];
[self.navigationController.navigationBar setBarTintColor:[UIColor whiteColor]];

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"top-nav-bar.png"] forBarMetrics:UIBarMetricsDefault];

有人遇到过同样的问题吗?

编辑: 我有与下面的链接类似的问题。 但就我而言,它仅在呈现视图控制器时出现,并且在推送时完美运行。

navigation controller bar is being cut off

【问题讨论】:

【参考方案1】:

您需要注意以下几点:

tintColor 是条形按钮和标题颜色:

navigationBar.tintColor = [UIColor whitColor];

barTintColor 是条形背景颜色:

navigationBar.barTintColor = [UIColor colorWithRed:6.0/255.0 green:12.0/255.0 blue:19.0/255.0 alpha:1.0];

半透明,iOS7默认为YES

navigationBar.translucent = NO;

看看下面来自 Apple 的图片:

【讨论】:

好的,但是那个家伙隐藏了状态栏,这是一个非常糟糕的主意,我认为你的问题是半透明和图像高度,将半透明设置为 NO,我认为你的 bar bg 图像将是 22px更高的高度。 bar bg 图片在推送时完美运行。但它在呈现时会引起问题。我尝试了您的解决方案,但没有运气..

以上是关于在 IOS 7 导航栏问题上显示视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

Storyboard 应用程序在 iOS 7 上运行正常,但在 iOS 6.1 上导航栏切换视图

iOS 7 导航栏中的搜索栏

带有透明/模糊导航栏的 iOS 7 视图控制器布局问题

在 iOS 7 中,状态栏和导航栏出现在我的视图边界上

iOS 7 状态栏透明

iOS 7:在底部导航栏的表格视图之间滑动