【问题标题】:Presenting view controller on IOS 7 navigation bar issue在 IOS 7 导航栏问题上显示视图控制器
【发布时间】: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

【问题讨论】:

    标签: uinavigationcontroller ios7 presentmodalviewcontroller


    【解决方案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 图片在推送时完美运行。但它在呈现时会引起问题。我尝试了您的解决方案,但没有运气..