【问题标题】:White pixels around custom navigation bar image自定义导航栏图像周围的白色像素
【发布时间】:2012-10-23 09:56:43
【问题描述】:

在我的 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 中的导航栏一样..奇怪.. :)

【问题讨论】:

    标签: ios uinavigationbar uibarbuttonitem


    【解决方案1】:

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

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

    【讨论】:

    • 好吧,我的图像是 320x44 (@2x 640x89),而你的图像是 320x46 (@2x 640x92)。我什至没有想到这一点。有趣的是,您的图像来自 AppDesignVault 主题,对吗?我的也是,但我在编辑它们时一定把我的 psd 剪错了。我会在我的图像上更正它。用你的,它是正确的(我可以在左上角看到一个灰色像素,但我认为它来自图像)。我认为纠正这个问题的是,在你的图像中,角落被黑色“填充”,而地雷是“空的”(png透明度)。奇怪的是,在标准 VC 中,它们在模态 VC 中显示为黑色和白色。谢谢!
    • 哦,顺便说一下,我还检查了我的按钮图像。白色像素在里面.. 我累了。 . 感谢您指出正确的方向!
    • 不客气!是的,导航栏图像来自 AppDesignVault 主题,因此归功于 AppDesignVault!关于导航栏图像的背景:也许这是要走的路!需要使用黑色填充而不是透明区域。
    猜你喜欢
    • 1970-01-01
    • 2021-10-12
    • 2016-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多