2011-05-09 4 views
4

단추로 감춰진 숨겨진 단추 사이를 전환하려는 하위보기가 있습니다. 하위보기를 페이드 아웃하고 페이드 아웃하려면 어떻게해야합니까? 지금은 그냥 바로 나타나고 버튼을 토글하면 바로 사라집니다.UI 요소를 천천히 숨기는 방법

이 애니메이션을 만드는 가장 쉬운 방법은 무엇입니까? 감사

답변

6

iOS 4.0 이상에서는 새로운 블록 기반 애니메이션 방법을 사용하는 것이 좋습니다.

[UIView animateWithDuration:2.0 
animations:^{myView.alpha = 0.0;}]; 

당신이 블록 내에서 이동을 애니메이션하는 속성합니다 (^{...} 부분) :이를 사용하여 코드는 다음과 같을 것이다. 블록은 일종의 함수이기 때문에 여러 속성을 애니메이션으로 만들려면 여러 줄의 코드를 넣을 수 있습니다. 예를 들어 체크 아웃, 더 많은 정보

[UIView animateWithDuration:0.2 
animations:^{view.alpha = 0.0;} 
completion:^(BOOL finished){ [view removeFromSuperview]; }]; 

: 당신이 애니메이션이 완료된 후 작업을 수행해야하는 경우

[UIView animateWithDuration:0.2 
animations:^{ 
    view.alpha = 0.0; 
    view.backgroundColor = [UIColor redColor]; 
}]; 

는, 예를 들어 +animateWithDuration:animations:completion: 방법을 (또한 블록을 사용하는)를 사용 UIView Class Reference '애니메이션'섹션 및 '블록으로 뷰 애니메이션'섹션

2

이 이전 사전 4.0 방법 : 개념적으로 간단하고 쉽게 구현할 수 있다는 장점이있다

http://objcolumnist.com/2009/07/18/simple-uiview-based-animations-on-the-iphone/

....

float alpha = 1.0; // or 0.0 if it's already visible and you want to fade out 
[UIView beginAnimations:@"" context:NULL]; 
[UIView setAnimationDuration:2.0]; // seconds, not ms. guess how i know? 
[mySubView setAlpha:alpha]; 
[UIView commitAnimations]; 
+0

잘 작동하지만 애니메이션 속도를 제어 할 수있는 방법이 있습니까? 지금은 아직 조금 빠릅니다. 감사합니다. – Codier

+1

'setAnimationDuration' float 값을 조정하여 애니메이션을 확장/축소합니다.'[UIView setAnimationDuration : 2.0f]; ' – dredful

+0

고마워,'dredful'. 뭔가 빠져있는 것 같았 어. :) – MusiGenesis

관련 문제