2012-06-24 47 views
1

我盯着構建一個應用程序,我希望我的應用程序中的所有按鈕看起來都一樣。 我爲一個按鈕編寫代碼,我希望我的其他按鈕看起來很像。 這是我的按鈕代碼:如何爲我所有的按鈕設置一個beahavor

UIImage *butimage = [UIImage imageNamed:@"button1.png"]; 
    UIImage *butimage3 = [UIImage imageNamed:@"button1press.png"]; 
    UIImage *butpress = [butimage3 stretchableImageWithLeftCapWidth:15 topCapHeight:0]; 
    UIImage *butimage2 = [butimage stretchableImageWithLeftCapWidth:15 topCapHeight:0]; 
    [button1 setBackgroundImage:butimage2 forState:UIControlStateNormal]; 
    [button1 setBackgroundImage:butpress forState:UIControlStateHighlighted]; 
    [button1 setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; 
    [button1 setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted]; 

我該怎麼辦? 感謝

+0

難道你不能只用上面的代碼創建一個像'initButton:(UIButton *)'這樣的輔助函數,並在所有按鈕上調用它? – millimoose

+0

我該怎麼做? – cnaaniomer

+0

我認爲如果你不能創建一個輔助函數/方法,最好由Objective-C教程來提供。 – millimoose

回答

1

試試這個:

[button1 addTarget:self action:@selector(anAction:) forControlEvents:UIControlEventTouchUpInside] 

我假設你已經創建只是一個按鈕,併爲其分配的所有圖像。

如果您創建更多按鈕,則爲他們提供操作的代碼就是上面的代碼。

對於anAction:部分,創建一個-(void)anAction:(id)sender(即)以告訴按鈕運行該特定操作。

編輯

聲明你的按鈕作爲IBOutlets,將它們放置在您的viewController.xib並將它們連接起來。

然後在viewWillAppearviewDidLoad(基本上是您編寫的代碼)中聲明它們的屬性。

然後,如果您希望他們執行某些操作,請編寫一些-(IBAction)actionForButton:(id)sender並將它們分配給IB中的按鈕。

+0

但我已經創建了更多的按鈕,我只是想分配,然後相同的行爲... – cnaaniomer

+0

我做了這樣的代碼:[button2 addTarget:self action:@selector(anAction :) forControlEvents:UIControlStateNormal]; anAction是我寫的代碼,它仍然不起作用。 – cnaaniomer

+0

您必須將操作分配給controlEvent UIControlEvenTouchUpInside。 – Phillip

相關問題