繁体   English   中英

iOS 7 UINavigationBar背景图像隐藏标题视图

[英]iOS 7 UINavigationBar Background image hides Title view

我制作了iOS应用,希望其中的应用与iOS 7兼容

我面临的问题是,当我在iOS 7上运行我的应用程序时, UINavigationBar背景图像隐藏了我的titleviewback button

屏幕截图在这里

-(void)viewDidLoad
{
    [super viewDidLoad];

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

    self.title=@"Artist";
    self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];


}

同样,当我将UINavigationBar背景图像设置为nil时,它显示titleviewback button

当我在iOS 7之前运行我的应用程序时,它可以正常运行。

请帮忙。 提前致谢。

在iOS 7.0上,酒吧的tintColor行为已更改,请检查下图:

在此处输入图片说明

你可以看到

tintColor :是导航栏中的交互式元素的颜色,包括按钮图像和标题。

barTintColorUINavigationBar的背景色。

针对您的问题:您可以执行以下操作:

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

默认字体颜色是黑色,因此您可能正在黑色背景上绘制黑色字体。 请尝试以下操作:

[[UINavigationBar appearance] setTitleTextAttributes:
                              [NSDictionary dictionaryWithObjectsAndKeys:
                              [UIColor whiteColor], NSForegroundColorAttributeName,nil]];

检查属性在视图的属性检查器上的延伸边缘,这会将边缘从导航栏的底部延伸到屏幕的顶部,以便背景图像位于正确的位置

在此处输入图片说明

如果您想了解有关ios7中新事物的更多信息,请查看ios7的过渡指南https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/TransitionGuide/index.html

以下代码为我工作

在viewDidLoad中

    self.navigationController.navigationBar.tintColor=[UIColor whiteColor];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM