내 프로그램의 상단과 하단에 2 개의 레이어가 있습니다.애니메이션과 함께 스페셜 뷰를 삭제할 수 있습니까?
어떻게 애니메이션으로 최상위 레이어를 제거 할 수 있습니까? 아니면 최상위 레이어를 가져올 수 있습니까?
내 프로그램의 상단과 하단에 2 개의 레이어가 있습니다.애니메이션과 함께 스페셜 뷰를 삭제할 수 있습니까?
어떻게 애니메이션으로 최상위 레이어를 제거 할 수 있습니까? 아니면 최상위 레이어를 가져올 수 있습니까?
가장 쉬운 방법은 프레임과 알파를 제거하기 전에 재생하는 것입니다.
당신은 멋진 효과를
-(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]; }];
위쪽으로 사용할 수있는 애니메이션 수행하기 위해 블록을 사용할 수 있습니다 애니메이션 블록 :
[UIView animateWithDuration:0.2
animations:^{view.alpha = 0.0;}
completion:^(BOOL finished){ [view removeFromSuperview]; }];
(위의 코드는 Apple의 UIView 설명서에서 제공)
내가 주석 // [myView removeFromSuperView]; 작동합니다. 내가 왜 그 줄을 주석해야하는지 설명해 주시겠습니까 Xcode는 UIView가 응답이 없을 수 있음을 알립니다. removeFromSuperView – RAGOpoR
removeFromSuperview없이이 코드를 실제로 테스트하지는 않았지만보기는 숨겨져 있습니다 (알파 = 0). SuperView 'v'를 소문자로 입력하십시오 : [myView removeFromSuperview]; – Francescu
덕분에 산 토니 이 일을 소문자로 V를 변경하는 귀하의 제안에 따라하지만이 애니메이션 – RAGOpoR