2012-02-07 36 views
0

我有這個按鈕,我希望當你點擊它時,他將被禁用,屏幕上的圖像將淡出,當下一個圖像完成淡入時,按鈕將會再次啓用。淡入淡出圖片按鈕被禁用

我有這樣的代碼:

-(IBAction)showPrev:(id)sender 
{ 
    if (x != 0) 
    { 
     x=x-1; 
     [self fadeOut]; 
     imgLettersView.image = [imagesArray objectAtIndex:x]; 
     [self fadeIn]; 
     btnNext.enabled = NO; 
    } 
    else 
    { 
     btnPrev.enabled = NO; 
     btnNext.enabled = YES; 
    } 
lblshowx.text = [NSString stringWithFormat:@"%i",x]; 
} 

-(void)fadeOut 
{ 
    btnNext.enabled = NO; 
    btnPrev.enabled = NO; 
    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:1.2f]; 
    [self.imgLettersView setAlpha:0.0f]; 
    [UIView commitAnimations]; 
    [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(fadeIn) userInfo:nil repeats:NO]; 
} 

-(void)fadeIn 
{ 
    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:1.2f]; 
    [self.imgLettersView setAlpha:1.0f]; 
    [UIView commitAnimations]; 
    btnNext.enabled = YES; 
    btnPrev.enabled = YES; 
} 

回答

2

進行下列調整到您的淡入方法:

-(void)fadeIn 
{ 
    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:1.2f]; 
    [UIView setAnimationDelegate:self]; 
    [UIView setAnimationDidStopSelector:@selector(reEnableButton)]; 
    [self.imgLettersView setAlpha:1.0f]; 
    [UIView commitAnimations]; 
} 

此外,添加下面的方法相同的控制器類,你是好去:

- (void) reEnableButton { 
    btnNext.enabled = YES; 
    btnPrev.enabled = YES; 
}