如何設置 UIButton 的圖像並隨後將其刪除(動畫) (How to setImage of a UIButton and subsequently remove it (animation))


問題描述

如何設置 UIButton 的圖像並隨後將其刪除(動畫) (How to setImage of a UIButton and subsequently remove it (animation))

I'm trying to set the image of a UIButton to some image for a set amount of time, and then after that time, I want the button to remove the image.  Here is the code I have been using and it isn't seaming to work.  If anyone can help, I'd greatly appreciate it!

Thanks!

[UIView animateWithDuration:5.0 animations:^{
    [button setImage:[UIImage imageNamed:@"light.png"] forState:UIControlStateNormal];

}completion:^(BOOL finisheds){
    [button setImage:nil forState:UIControlStateNormal;
}];

‑‑‑‑‑

參考解法

方法 1:

If you define a method in your class, something like this:

‑ (void)removeImageFromButton:(id)button {
     [button setImage:nil forState:UIControlStateNormal]
}

Then you can do what you want to do like this:

[button setImage:[UIImage imageNamed:@"light.png"] forState:UIControlStateNormal];
[self performSelector:@selector(removeImageFromButton:) withObject:button afterDelay:5.0];

Also, you probably want to add [NSObject cancelPreviousPerformSelectorRequestsWithTarget:self]; in ‑ (void)dealloc or else you make get a EXC_BAD_ACCESS if self is deallocated before the 5s is up.

(by Josh SklarDarren Clark)

參考文件

  1. How to setImage of a UIButton and subsequently remove it (animation) (CC BY‑SA 3.0/4.0)

#animation #objective-c






相關問題

Iphone app PNG 序列動畫 - 如何在不崩潰的情況下以最佳方式使用 OPENgle (Iphone app PNG sequence animation - How to use OPENgle optimally without crashing)

jquery切換幻燈片和切換旋轉動畫 (jquery toggle slide and toggle rotation animate)

如何在三次貝塞爾方法上禁用 css3 過渡鼠標離開效果? (How to disable css3 transition mouseleave effect on cubic-bezier method?)

Android:故事書(動畫、聲音、圖片) (Android: Storybooks (animation, sounds, pictures))

JQuery 動畫凌亂 (JQuery Animations Messy)

拉斐爾對角變換對象和無限setIntervals (Raphael transform object diagonally and infinite setIntervals)

使用 mouseover 和 mouseout 時避免生澀的動畫 (Avoiding jerky animation when using mouseover and mouseout)

在 C 中復制 Spinrite 動畫效果 (Replicating Spinrite Animation Effect in C)

將樣式作為參數傳遞給 jquery animate (passing style as argument to jquery animate)

如何設置 UIButton 的圖像並隨後將其刪除(動畫) (How to setImage of a UIButton and subsequently remove it (animation))

單擊消息後的 MessageKit 動畫 (MessageKit animation after click on message)

連續貝塞爾動畫,不繼承變化時的緩動功能 (Continuous bezier animation without inheriting easing-function on change)







留言討論