在我的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中的导航栏一样..奇怪.. :)
答案 0 :(得分:1)
嗯!仅用于测试目的,您是否可以下载以下sample image导航栏背景并尝试使用此图像?现在让我们看看这张图片的样子。
我只是猜测,但我认为你的图像不是导航条尺寸的像素!可能比导航栏的最佳高度低几个像素。