我正在製作一個小型的iOS遊戲,在同一視圖上有許多按鈕的實例。視圖中充滿了使用泡泡圖像的按鈕。用同一個按鈕的多個實例更改特定按鈕的圖像
我需要能夠改變其中一個按鈕的圖像時,它被竊聽和5秒後改回來,但是我完全不知道該怎麼辦呢D:
可能有人提出一種可能請解決嗎?
我正在製作一個小型的iOS遊戲,在同一視圖上有許多按鈕的實例。視圖中充滿了使用泡泡圖像的按鈕。用同一個按鈕的多個實例更改特定按鈕的圖像
我需要能夠改變其中一個按鈕的圖像時,它被竊聽和5秒後改回來,但是我完全不知道該怎麼辦呢D:
可能有人提出一種可能請解決嗎?
當你的按鈕被輕敲時,他們將執行他們的動作選擇器。傳遞給動作選擇器的sender
參數實際上是被點擊的按鈕,您可以利用它來更改其屬性。要反轉更改,可以使用dispatch_after
來延遲次要更改。
- (void)buttonWasTapped:(id)sender
{
__block UIButton *button = (UIButton *)sender; // This is the button that was tapped
[button setImage:[UIImage imageNamed:@"blah"] forState:UIControlStateNormal];
double delayInSeconds = 5.0;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[button setImage:[UIImage imageNamed:@"original_image"] forState:UIControlStateNormal];
});
}
是否所有的按鈕使用相同的動作?也就是說,當你敲擊它們時,是否每個按鈕都調用相同的方法? – neilco
是的他們都使用相同的方法。 –