2012-10-23 68 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上!關於導航欄圖像的背景:或許這是要走的路!需要使用黑色填充顏色代替透明區域。 –