![](/img/trans.png)
[英]Putting a large logo on UINavigationBar as the title view - iOS
[英]iOS 7 UINavigationBar Background image hides Title view
我制作了iOS应用,希望其中的应用与iOS 7兼容
我面临的问题是,当我在iOS 7上运行我的应用程序时, UINavigationBar
背景图像隐藏了我的titleview
和back 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时,它显示titleview
和back button
当我在iOS 7之前运行我的应用程序时,它可以正常运行。
请帮忙。 提前致谢。
在iOS 7.0上,酒吧的tintColor
行为已更改,请检查下图:
你可以看到
tintColor
:是导航栏中的交互式元素的颜色,包括按钮图像和标题。
barTintColor
是UINavigationBar
的背景色。
针对您的问题:您可以执行以下操作:
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.