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 - 主要

iOS 5,主 VC。

iOS 5 - 模态

iOS 5,模态 VC。

iOS 6 - 主要

iOS 6,主要 VC。

iOS 6 - 模态

iOS 6,模态 VC。

那么,我能做些什么呢?按钮下方的白色像素不是很明显(后退按钮要多一点),但我真的想要一个漂亮的应用程序设计,这根本没有贡献..

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

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

谢谢。


编辑 :

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

4

1 回答 1

1

嗯!仅出于测试目的,您可以下载以下导航栏背景的示例图像并尝试使用此图像吗?现在让我们看看这张图片的外观。

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

于 2012-10-23T10:10:07.973 回答