2011-08-14 2 views
15

iOS 용 Xcode에서 숨겨진보기가 있다고합시다. 이제보기를 숨기지 않도록 설정하면 (view.hidden = NO), 이제는 어떻게 표시하여 애니메이션이 나타나게 할 수 있습니까?애니메이션을 사용하여보기를 숨김 해제하는 방법

+0

"위트 h 애니메이션? –

+0

슬라이딩, 페이드 인 또는 다른 애니메이션의 코코아 터치와 같은 모든 애니메이션 – Snowman

답변

54

view.hidden을 설정하지만, 또는 1 (hidden = NO) (hidden = YES에 해당) view.alpha0로 설정하지 않는 것입니다. 그런 다음보기를 표시하는 암시 적 애니메이션을 사용할 수 있습니다

, 예를 들어

[UIView animateWithDuration:0.3 animations:^() { 
    view.alpha = 1.0; 
}]; 
+1

애니메이션과 함께 항상이 작업을 수행해야하는 경우 setHidden 및 isHidden을 재정의 할 수 있습니다. –

5

페이드의 경우보기의 알파 속성을 조정할 수 있습니다.

myView.alpha = 0; 
[UIView animateWithDuration:0.5 animations:^{ 
    myView.alpha = 1; 
}]; 

이렇게하면보기 myView에 0.5 초 동안 페이드가 적용됩니다. 많은 UIView 속성이 애니메이션 가능합니다. 당신은 단지 알파 페이드에 국한되지 않습니다. 배경색을 변경하거나 애니메이션을 사용하여보기를 회전하고 비율을 조정할 수도 있습니다. 추가 제어 및 고급 애니메이션이 필요한 경우 훨씬 복잡한 애니메이션 프레임 워크 인 Core Animation으로 이동할 수 있습니다. 당신은 아마 원하는 것은

1
-(void)showView{ 

    [UIView beginAnimations: @"Fade Out" context:nil]; 
    [UIView setAnimationDelay:0]; 
    [UIView setAnimationDuration:.5]; 
    //show your view with Fade animation lets say myView 
    [myView setHidden:FALSE]; 
    [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(hideView) userInfo:nil repeats:YES]; 

    [UIView commitAnimations]; 
} 


-(void)hideView{ 
    [UIView beginAnimations: @"Fade In" context:nil]; 
    [UIView setAnimationDelay:0]; 
    [UIView setAnimationDuration:.5]; 
    //hide your view with Fad animation 
    [myView setHidden:TRUE]; 
    [UIView commitAnimations]; 
} 

또는 만이 사용 후 퇴색 이외의 애니메이션을 원하는 경우이 방법

self.yourView.alpha = 0.0; 
[UIView beginAnimations:@"Fade-in" context:NULL]; 
[UIView setAnimationDuration:1.0]; 
self.yourView.alpha = 1.0; 
[UIView commitAnimations]; 
8

을 시도 할 수 있습니다 방법

[UIView transitionWithView:_yourView duration:1.0 options:UIViewAnimationOptionTransitionCurlDown animations:^(void){ 

      [_yourView setHidden:NO]; 

     } completion:nil]; 
+0

고마워요, 대단한 작품 :) – evya

+0

와우 ... 매력처럼 작동합니다! 고마워요! –

관련 문제