在我的 iOS 5+ 应用程序中,我使用自定义导航栏图像和自定义导航栏按钮。
首先,这是我告诉我的应用程序使用图像的方式:
在AppDelegate.m
:
UIImage *navBarImage = [UIImage imageNamed:@"Navbar"];
[[UINavigationBar appearance] setBackgroundImage:navBarImage forBarMetrics:UIBarMetricsDefault];
UIImage *barButton = [[UIImage imageNamed:@"Nav-button"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 6, 0, 6)];
[[UIBarButtonItem appearance] setBackgroundImage:barButton forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
因此,图像被使用。伟大的。但是,发生了几件事:
• 首先,在我的按钮上,在底角下,出现了几个白色像素(它们不在原始图像上,这是肯定的)。我还使用了一个自定义的后退按钮,同样的事情也会发生。这在 iOS 6 下似乎比在 iOS 5 下更明显。
• 当我打开一个模态VC 时,导航栏“填充到状态栏”并带有白色像素。仅适用于模态VC。
以下是情况截图。
iOS 5,主 VC。
iOS 5,模态 VC。
iOS 6,主要 VC。
iOS 6,模态 VC。
那么,我能做些什么呢?按钮下方的白色像素不是很明显(后退按钮要多一点),但我真的想要一个漂亮的应用程序设计,这根本没有贡献..
关于模态 VC,我可以使用“矩形”图像,它可以覆盖白色像素,但同样,关于设计一致性,我更喜欢只使用一个导航栏..
与往常一样,非常感谢任何解释/解决方案/提示!;)
谢谢。
编辑 :
我刚刚注意到,在 iOS 6 下,导航栏顶部的白色像素是圆形的,就像 iOS 6 中的导航栏一样..奇怪.. :)