2012-02-07 6 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]; 
} 

を、同じコントローラクラスに次のメソッドを追加し、あなたがにもいいですgo:

- (void) reEnableButton { 
    btnNext.enabled = YES; 
    btnPrev.enabled = YES; 
} 
関連する問題