2013-05-18 2 views
0

이미지 뷰가 희미 해지고 완전히 숨겨지기를 원합니다. 여기 UImagview 페이드 후 숨기기

내 코드입니다

CABasicAnimation *theAnimation; 
    theAnimation=[CABasicAnimation animationWithKeyPath:@"opacity"]; 
    theAnimation.duration=1.0; 
    theAnimation.fromValue=[NSNumber numberWithFloat:1.0]; 
    theAnimation.toValue=[NSNumber numberWithFloat:0.0]; 
    [flowerImageView.layer addAnimation:theAnimation forKey:@"animateOpacity"]; 

이 제대로 작동하지만, 값이 0.0가되면 이미지 뷰 다시

+0

페이드 아웃 한 후. superview (UIImageView)에서 제거하면됩니다. [imageView removeFromSuperview]를 클릭하십시오. – jamil

+0

하지만 값이 0이되었다는 것을 어떻게 알 수 있습니까? – user2185354

+0

여기를보세요 http://stackoverflow.com/a/11487269/1328096. – jamil

답변

2

을 표시 사실이 그래서 NSTimer

설정에 대한 콜백 메소드가없는 안
 CABasicAnimation *theAnimation; 
    theAnimation=[CABasicAnimation animationWithKeyPath:@"opacity"]; 
    theAnimation.duration=1.0; 
    theAnimation.fromValue=[NSNumber numberWithFloat:1.0]; 
    theAnimation.toValue=[NSNumber numberWithFloat:0.0]; 
    [flowerImageView.layer addAnimation:theAnimation forKey:@"animateOpacity"]; 

    [NSTimer scheduledTimerWithTimeInterval:theAnimation.duration 
     target:self 
     selector:@selector(targetMethod) 
     userInfo:nil 
     repeats:NO]; 

애니메이션 완료 후의 호출 완료 방법

-(void)targetMethod 
{ 
    flowerImageView.hidden = YES; 
} 
1

예, Pratik은 올바른 방향에 있지만 이미지가 표시 될 것입니다.

다음 해결책을 시도해 볼 수도 있습니다. 이미지를 완전히 숨길 수 있습니다.

CABasicAnimation *theAnimation; 
theAnimation=[CABasicAnimation animationWithKeyPath:@"opacity"]; 
theAnimation.duration=1.0; 
theAnimation.fromValue=[NSNumber numberWithFloat:1.0]; 
theAnimation.toValue=[NSNumber numberWithFloat:0.0]; 
[flowerImageView.layer addAnimation:theAnimation forKey:@"animateOpacity"]; 

[NSTimer scheduledTimerWithTimeInterval:theAnimation.duration 
    target:self 
    selector:@selector(targetMethod) 
    userInfo:nil 
    repeats:NO]; 

그런 다음 애니메이션이 완료되면 이미지를 완전히 숨 깁니다.

-(void)targetMethod 
{ 
    [flowerImageView setHidden:YES]; 
}