2012-02-07 5 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

당신의 fadeIn 방법에 다음 조정합니다 :

이 코드가 또한

-(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; 
} 
관련 문제