2009-11-11 4 views

답변

11

가장 쉬운 방법은 프레임과 알파를 제거하기 전에 재생하는 것입니다.

당신은 멋진 효과를

-(void)removeWithEffect:(UIView *)myView 
{ 
[UIView beginAnimations:@"removeWithEffect" context:nil]; 
[UIView setAnimationDuration:0.5f]; 
//Change frame parameters, you have to adjust 
myView.frame = CGRectMake(0,0,320,480); 
myView.alpha = 0.0f; 
[UIView commitAnimations]; 
[myView performSelector:@selector(removeFromSuperview) withObject:nil afterDelay:0.5f]; 
} 

아이폰 OS 업데이트를 얻을 수 있습니다

이제 당신이 아이폰 OS 4.0을 표적으로하는 경우

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

내가 주석 // [myView removeFromSuperView]; 작동합니다. 내가 왜 그 줄을 주석해야하는지 설명해 주시겠습니까 Xcode는 UIView가 응답이 없을 수 있음을 알립니다. removeFromSuperView – RAGOpoR

+0

removeFromSuperview없이이 코드를 실제로 테스트하지는 않았지만보기는 숨겨져 있습니다 (알파 = 0). SuperView 'v'를 소문자로 입력하십시오 : [myView removeFromSuperview]; – Francescu

+0

덕분에 산 토니 이 일을 소문자로 V를 변경하는 귀하의 제안에 따라하지만이 애니메이션 – RAGOpoR

7

위쪽으로 사용할 수있는 애니메이션 수행하기 위해 블록을 사용할 수 있습니다 애니메이션 블록 :

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

(위의 코드는 Apple의 UIView 설명서에서 제공)

관련 문제