2014-03-27 125 views
0

該按鈕後是一系列動畫一個發光效果的圖像,當按鈕被按下,我想動畫停止:禁用動畫按鈕被按下

[self.buttonHintdisabled setBackgroundImage: [UIImage animatedImageNamed:@"c" duration:3.0] forState: UIControlStateNormal]; 

這是如何完成的?

如果還有其他方法可以在按下按鈕時禁用它的代碼中執行此操作,請告訴我?

回答

1

我還沒有試過這個UIButton,但我會給你一個想法,我會怎麼做:

很多時候,我們設置了target我們UIButton

[self.buttonHintdisabled addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside]; 

buttonPressed:,我們將執行我們希望做的時候什麼該按鈕被按下。

因此,考慮到這一點,除了要內buttonPressed做什麼,你可以嘗試:

[self.buttonHintdisabled setBackgroundImage:[UIImage imageNamed:@"c0.png"] forState:UIControlStateSelected]; 

一旦方法中的動作完成後,將其設置回用,你有什麼以上:

[self.buttonHintdisabled setBackgroundImage:[UIImage animatedImageNamed:@"c" duration:3.0] forState: UIControlStateNormal];  
完全取代它的
+0

即時通訊思想......難道這就是我即將做可以接受的:當按下此動畫按鈕,我會setHidden,然後我會用灰色顯示的UIImage更換相同的圖片? – Jelter

+0

@Jelter當然,但設置隱藏按鈕會隱藏按鈕,以便當您用灰色圖像替換它時,它不會顯示;相反,我會建議設置'userInteractionEnabled = NO;'並將其替換爲'UIButton'上的灰色圖片,當您完成了您的操作後,將其設置回YES並將其替換爲動畫。 – Unheilig

+0

檢查我做了什麼Ive創建了一個名爲disabledhintImage的新按鈕插件,並且我將它設置在名爲buttonHintdisabled的動畫按鈕後面,當單擊該按鈕的操作發生時,將其設置爲setHidden,並在屬性中取消選中啓用inspector for disabledhintbutton,因此當動畫圖像被按下時,它隱藏起來並且其下面的按鈕被禁用。它運行良好,但是當我加載我的遊戲時,我會遇到Apple Inc和iTunes的問題嗎? – Jelter

0

,如果你想使用選定的按鈕狀態(UIControlStateSelected)

加入這一行

[self.buttonHintdisabled setBackgroundImage: [UIImage imageNamed:@"selectedImage"] forState: UIControlStateSelected]; 

,然後在其行動

- (void)buttonClicked:(id)sender 
{ 
    [self.buttonHintdisabled setSelected:YES]; 
} 

,或者如果你可以只更換背景圖片 - (void)buttonClicked:(id)發件人