2010-03-16 50 views
1

基本上,我正在嘗試UIViewAnimationTransitionCurlUp一個UIButton。動畫 完美地工作,但按鈕停留在那裏。UIButton Transition Curl Up問題

即按鈕捲起,但仍然存在按鈕的另一個實例。

我的代碼如下:

[UIButton beginAnimations:nil context:nil]; 
[UIButton setAnimationDuration:0.5]; 
[UIButton setAnimationBeginsFromCurrentState:YES]; 
[UIButton setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES]; 
[UIButton commitAnimations]; 

回答

6

設置新的按鈕狀態+beginAnimations+commitAnimations之間的呼叫。下面的代碼隱藏點擊按鈕與捲曲動畫:

- (void)btnClick:(id)sender{ 
    [UIButton beginAnimations:nil context:nil]; 
    [UIButton setAnimationDuration:0.5]; 
    [UIButton setAnimationBeginsFromCurrentState:YES]; 
    [UIButton setAnimationTransition:UIViewAnimationTransitionCurlUp 
            forView:(UIView*)sender cache:YES]; 
    ((UIView*)sender).hidden = YES; 

    [UIButton commitAnimations]; 
} 
+0

那個,我的朋友,非常完美! + 1UP – 2010-03-16 12:02:07

2

你要刪除的按鈕(隱藏按鈕)當動畫ends.This應

- (void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context 

完成應在動畫設置代碼

,如:

[UIButton setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)]; 

希望這會有所幫助。

感謝,

Madhup

+0

優秀,歡呼! – 2010-03-16 11:40:03

+0

害怕這仍然不能正常工作 - 我顯然缺少一些簡單的東西。 – 2010-03-16 11:52:37

0

好吧,我大概選中此之前,我投你了......

按鈕是仍然動畫後不dissapearing結束:(

我的代碼是現在:

[UIButton beginAnimations:@"welcomeAnimation" context:nil]; 
[UIButton setAnimationDuration:0.5]; 
[UIButton setAnimationDidStopSelector:@selector(welcomeAnimationDidStop:finished:context:)]; 
[UIButton setAnimationBeginsFromCurrentState:YES]; 
[UIButton setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES]; 
[UIButton commitAnimations]; 

和我的方法:

-(void)welcomeAnimationDidStop:(NSString *)animationID finished:(BOOL *)finished context:(void *)context { 
    welcomeButton.hidden = YES; 
}