2012-10-25 4 views
0

번역 애니메이션을 사용하여 팝업 배너 (기본적으로 화면에 팝업 및 숨김)가 생성됩니다. 지금까지 가지고있는 코드는 다음과 같습니다.iOS 팝업 배너 애니메이션이 작동하지 않습니다.

- (void)popAddProductBanner { 
    [self.view bringSubviewToFront:[self.view.subviews objectAtIndex:3]]; 
    [_addProductBanner setHidden:YES]; 
    UIView *bannerView = [[[NSBundle mainBundle] loadNibNamed:@"HouraAddProductBannerView" owner:self options:nil] objectAtIndex:0]; 
    [_addProductBanner addSubview:bannerView]; 
    [UIView transitionWithView:_addProductBanner duration:0.5 options:UIViewAnimationOptionCurveEaseIn animations: ^{ 
     [_addProductBanner setHidden:NO]; 
     [_addProductBanner setTransform:CGAffineTransformMakeTranslation(0.0, -44.0)]; 
    } completion:^(BOOL finished) { 
     [NSTimer scheduledTimerWithTimeInterval:3.0 
             target:self 
             selector:@selector(dismissAddProductBanner) 
             userInfo:nil 
             repeats:NO]; 
    }]; 
} 

-(void)dismissAddProductBanner { 
    [UIView transitionWithView:_addProductBanner duration:0.5 options:UIViewAnimationOptionCurveEaseIn animations: ^{ 
     [_addProductBanner setTransform:CGAffineTransformMakeTranslation(0.0, 44.0)]; 
     [_addProductBanner setHidden:YES]; 
    } completion:nil]; 
} 

이 팝업은 다른 버튼을 통해 응용 프로그램을 통해 트리거 될 수 있습니다. 내 문제는 팝업 애니메이션 잘 작동하지만 숨어있는 애니메이션 (같은 있지만 다른 방식으로) 작동하지 않습니다. 배너는 애니메이션없이 사라집니다.

여기에 무슨 일이 일어나는가에 대한 단서가 있습니까? 그것은 나에게 정말로 도움이 될 것이다. 고마워.

답변

0

숨겨진 속성에 애니메이션을 적용하지 마십시오. 알파 속성에 애니메이션을 적용하고 완료하려면 숨김을 설정하려는 경우 hidden이 부분적으로 alpha에 바인드되어 있기 때문에 현재 첫 번째 애니메이션에서 작동합니다.

+0

Thx, 작성했습니다. 나는 완성 부분에 "setHidden"을 넣고 애니메이션에만 번역본을 남겼습니다. 지금은 잘 작동합니다. – user1173126

관련 문제