2012-04-26 36 views
0

在設置UIToolBar的UIBarStyle(例如BlackTranslucent)的Xcode ui構建器中,UIToolBarItem將背景圖像與它匹配。 UIToolBarItem如何知道它應該使用哪種風格?UIBarButtonItem如何知道UIToolBar使用哪個UIBarStyle?

我試圖做一個自定義彩色圖像的常規背景瓷磚(編程方式合併給定的圖像在背景圖像頂部)。我希望代碼具有足夠的通用性,以便能夠處理所有的UIBarStyles。這意味着我想知道UIToolBarItem何時決定使用哪個背景並攔截它,以便我可以即時編寫按鈕圖像。

回答

1

不能看到蘋果的UIBarbuttonItem的實現,我假定他們做而不是,事實上,知道他們的UIToolbar的風格是什麼。如果仔細觀察,它們與它們的工具欄具有相同的Alpha,並且具有相同的疊加層(指示子視圖)。因此,作爲子視圖添加的高亮圖層下的任何圖像都應符合UIToolbar的樣式。如果您想要使用多個圖像(每個barStyle一個),您可以使用self.myToolbar.barStyle來確定它,並在-viewDidLoad時間進行適當的計劃。至於真正的圖像繪製,子類UIToolbar和覆蓋-drawRect:和使用[UIImage drawInRect:rect];

+0

我不知道你指的是什麼作爲覆蓋。你的意思是玻璃般的外觀?我不確定何時添加爲子視圖,它會如何自動符合UIBarStyle?從我可以告訴有兩個圖像,當未按下和按下時。 – huggie 2012-04-26 05:14:02

+0

子視圖自動採用其超視圖的基本外觀方面(alpha,它們上方的任何z-順序圖層)。整個兩個圖像的事情意味着你想要一個UIButton。 – CodaFi 2012-04-26 12:26:34

相關問題