2012-10-23 52 views
2

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

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

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

+0

那么,我的图像是320x44(@ 2x 640x89),当你的图像是320x46(@ 2x 640x92)。我甚至没有想到..有趣的是你的图像来自AppDesignVault主题吗?我也是,但编辑他们时我必须剪掉我的psd错误。我会在我的图像上纠正这种错误。与你的,这是正确的(我可以看到左上角的灰色像素,但我认为它来自图像)。我认为纠正这个问题的是,在你的形象中,角落被黑色“填满”,而地雷是“空的”(png透明度)。奇怪的是,在一个标准的VC中,他们显示为黑色,而在模态VC上显示为白色。谢谢! – rdurand

+0

哦,顺便说一句,我也检查了我的按钮图像..白色像素**在它** ..哇!我累了..感谢指向正确的方向! – rdurand

+1

不客气!是的,导航栏图像来自AppDesignVault主题,所以积分转到AppDesignVault上!关于导航栏图像的背景:或许这是要走的路!需要使用黑色填充颜色代替透明区域。 –