自定义导航栏图像周围的白色像素

时间:2012-10-23 09:56:43

标签: ios uinavigationbar uibarbuttonitem

在我的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 - Main

iOS 5,主要VC。

iOS 5 - Modal

iOS 5,模态VC。

iOS 6 - Main

iOS 6,主要VC。

iOS 6 - Modal

iOS 6,模态VC。

那么,我该怎么办?按钮下面的白色像素不是很明显(后退按钮多一点),但我真的想要一个不错的应用程序设计,这根本没有贡献..

关于模态VC,我可以使用"矩形"图像,可以覆盖白色像素,但同样,关于设计的一致性,我更喜欢只使用一个导航栏..

与往常一样,非常感谢任何解释/解决方案/提示! ;)

感谢。


编辑:

我刚注意到在iOS 6下,导航栏顶部的白色像素是圆角的,就像iOS 6中的导航栏一样..奇怪.. :)

1 个答案:

答案 0 :(得分:1)

嗯!仅用于测试目的,您是否可以下载以下sample image导航栏背景并尝试使用此图像?现在让我们看看这张图片的样子。

我只是猜测,但我认为你的图像不是导航条尺寸的像素!可能比导航栏的最佳高度低几个像素。