2013-05-15 95 views
1

我試圖做到這一點看我的後退按鈕右側的色彩:獲取的後退按鈕

enter image description here

但無論在哪裏品嚐綠色Photoshop中的陰影,它從來沒有出來正確的。例如:

enter image description here

我如何能實現完全一樣的外觀有什麼建議?

回答

2

色彩的顏色正是這種色調。 iOS使用該顏色作爲基礎,以普通導航欄的樣式創建漂亮的按鈕。

如果你想控制你的按鈕的外觀比調色允許的更精確,你最好的辦法是創建一組圖像,並使用-setBackButtonBackgroundImage:forState:barMetrics:來使用它們。如果您想要查看應用中的所有酒吧按鈕項目,請在+[UIBarButtonItem appearance]上使用該方法,而不是使用特定的酒吧按鈕項目。

0

它看起來像按鈕在按鈕上添加另一個半透明的灰色層。我現在無法檢查,但我會查找設置以禁用半透明圖層效果或嘗試不同的按鈕樣式/狀態。

1

爲了產生BackBarButtonItem的梯度,iOS設備執行以下操作:上的後退按鈕的頂部

  1. 應用所指定
  2. 着色顏色應用於透明覆蓋

這裏是它用於iPhone的視網膜顯示器覆蓋層(這些使用UIKit-Artwork-Extractor獲得):

Default Back Button Overlay

默認後退按鈕疊加

Pressed Back Button Overlay

按下後退按鈕Overalay

不幸的是,沒有辦法告訴的iOS /的UIBarButtonItem不渲染上的後退按鈕這些覆蓋(從而,這爲所有應用程序提供了默認的導航欄和按鈕,保持了一致的外觀)。

如果你不希望有應用這個覆蓋(它會變暗在兩種狀態下的按鈕),你必須創建自己的後退按鈕圖像 - 爲defaultpressed狀態,portraitlandscape方向和retinanon-retina顯示器(共8張圖片)。

正如他在answerBrent Royal-Gordon提到,您可以使用appearance代理爲UIBarButtonItem讓他們整個應用程序使用的應用這些圖像。例如,您可以像這樣爲縱向設置默認背景圖像狀態:

UIImage *defaultBackImage = [UIImage imageNamed:@"My-Default-Back-Button"]; 
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:defaultBackImage forState: UIControlStateNormal barMetrics:UIBarMetricsDefault];