2012-10-15 208 views
0

我有一個單獨的自定義類,它可以完成控件的所有自定義操作。 我也在自定義導航欄按鈕。在導航欄中自定義UIBarButtonItem。

現在在導航VC的viewDidLoad中,我將一個對VC的leftBarButtonItem的引用傳遞給自定義類,並且該引用的類型爲UIBarButtonItem。但是他的自定義類將如何知道,傳遞給UIBarButtonItem的引用是左邊的按鈕? 我需要該類來知道這一點,因爲左側按鈕的定製與右側按鈕不同。 我想避免創建一個自定義的Enum,如果可以用內置的框架功能來實現的話。

你能幫忙嗎?

+1

一段代碼會有幫助。 – parilogic

+0

你可以使用標籤..你可以有leftBtn.tag = 0; &rightBtn.tag = 1; 在定製類取決於標籤你可以來到哪個barBtn是.. – vishy

+0

我在法律上綁定不是不幸地發佈具體代碼。但這是一個關於可可觸摸框架功能的問題,以及用於檢測特質/屬性的一些技術。描述只是給它的上下文。如果我沒有足夠清楚地描述問題,請問具體情況。 –

回答

0

我之前做過類似的事情。你可能會想使你的定製方法有告訴它什麼樣的按鈕,你逝去的

[CustomizationClass customizeButton:leftBarButton ofType:kLeftBarButton]; 

然後做出了「ofType」的customizeButton方法檢查,並相應地自定義參數。

編輯:只讀你說的關於自定義枚舉。據我所知,沒有辦法檢測到這一點。

+0

我想出了一個主意。 UINavigationItem的leftBarButtonItem屬性始終指向leftBarButtonItems數組中的第一個項目。因此,理論上我可以將引用傳遞給定製類以及左/右邊界條目類型,並在定製類檢查中將它所屬的兩個數組中的哪一個(左邊的數組或右邊的數組)放入哪個數組中。這樣我就會知道我正在處理的是哪一方面。 –