【发布时间】:2016-04-06 06:53:54
【问题描述】:
当我将NavigationBar设置为半透明时,我希望NavigationBar下面不会有阴影线,并且StatusBar与视图背景具有相同的背景
我的代码是这样的:
[self.navigationController.navigationBar setTranslucent:YES];
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"translucent_image"] forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.shadowImage = [UIImage new];
它们在 iPhone6 Plus 和 iPhone 6s Plus 等 5.5 英寸 iPhone 上完美运行,但在 iPhone 6s 和 iPhone 5s 等较小的 iPhone 上运行时,我遇到了类似错误的问题,StatusBar 变成黑色!它们在 iOS 8.2、iOS 8.3 和 iOS 9.2 上是相同的代码,唯一的区别是屏幕!
我尝试将BarMetrics 从UIBarMetricsDefault 更改为UIBarMetricsCompact 或UIBarMetricsDefaultPrompt 以解决此问题,最后StatusBar 运行良好,但阴影线在所有iPhone 中都出现了!
[self.navigationController.navigationBar setTranslucent:YES];
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"translucent_image"] forBarMetrics: UIBarMetricsCompact];
self.navigationController.navigationBar.shadowImage = [UIImage new];
好奇怪!这是iOS的bug吗?
【问题讨论】:
标签: ios objective-c iphone