2011-02-10 37 views
0

UIBarButtonItemleft/rightBarButtonItem被竊聽,我沒有看到touchUpInside效果。即按鈕的顏色應該改變。我需要在這裏執行某些操作嗎?touchUpInside效果爲的UIBarButtonItem

我不能改變顏色,當我把我的手指右邊欄按鈕。我沒有在UIBarButtonItem上看到任何稱爲背景色的屬性。如何實現這一目標?

回答

3

您不能更改UIBarButtonItem的顏色,您需要設置該按鈕所在的UINavigationControllerTint

的的UIBarButtonItem將繼承的NavBar的色調顏色。您也可以將UIBarButtonStyle更改爲UIBarButtonSystemItemDone以使該按鈕成爲navBar Tint的較暗顏色。

此外,UIBarButtonItem沒有touchUpInside方法,您可以通過setAction:覆蓋它的操作。

以下是一些您的選項UIBarButtonItem

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] init]; 

    /* make the back button an image */ 
    [backButton setImage:[UIImage imageNamed:@"anImage.png"]]; 

    /* change the title for child views */ 
    [backButton setTitle:@"Go Back!"]; 

    /* tell the button to do something */ 
    [backButton setAction:@selector(doSomething:)]; 

    /* disable the button */ 
    [backButton setEnabled:NO]; 

    /* make this button the BACK button for nav controller */ 
    self.navigationItem.backBarButtonItem = backButton; 

    /* create this button on the RIGHT side of the navBar */ 
    self.navigationItem.rightBarButtonItem = backButton; 

[backButton release]; 
1

的UIBarButtonItem不使用touchUpInside,相反,他們只有目標和行動時,他們被激活來定義。

+0

我明白了,但是當我將手指放在按鈕上時,我無法改變顏色。我在UIBarButtonItem上看不到任何稱爲背景顏色的屬性。如何實現這一目標? – Abhinav 2011-02-11 00:27:01