2012-08-28 2 views
0

한 뷰에서 다른 뷰로 이동할 때 전환 효과를 추가하는 방법은 무엇입니까?한 뷰에서 다른 뷰로 이동할 때 전환 효과

addSubView가 버튼을 클릭 할 때 호출되면 새로운 뷰가로드됩니다. 그렇게 할 때 '슬라이드 인'과 같은 전환 효과/애니메이션이 필요합니까? 또한 원래보기로 돌아갈 때 '슬라이드 아웃'전환을 추가하는 방법은 무엇입니까?

+0

http://stackoverflow.com/questions/2337408/addsubview-animation – Alex

답변

1

이것은 간단한 UIView 애니메이션으로 수행 할 수 있습니다 도와주세요. 몇 가지 예가 있습니다.

UIView *secondView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; 
[secondView setAlpha:0.0]; 
[self.view addSubview:secondView]; 

[UIView animateWithDuration:1.0 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{ 
    [secondView setAlpha:1.0]; 
}completion:^(BOOL done){ 
    //Some completion handler! 
}]; 

을 그리고 당신은 주위의보기를 이동 처리 CGAffineTransforms 파고 수 있습니다

이 0.0 효과에 페이드를주는 1.0에서 알파 애니메이션을합니다. 이 예제는 화면의 왼쪽 아래 모서리에서 새 뷰를 이동합니다.

UIView *secondView = [[UIView alloc] initWithFrame:CGRectMake(320, 480, 320, 480)]; 
[self.view addSubview:secondView]; 

[UIView animateWithDuration:1.0 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{ 
    [secondView setTransform:CGAffineTransformMakeTranslation(-320, -480)]; 
}completion:^(BOOL done){ 
    //Some completion handler! 
}]; 

이러한 블록을 사용하면 원하는 중간 애니메이션을 간단하게 만들 수 있습니다.

+0

안녕하세요, 감사합니다 ... 내 앱의 모든보기에서 동일하게하고 싶습니다. 각보기에 대해 별도로 수행하는 대신 전체 앱에 대해 한 번 수행 할 수 있습니까? – varun

관련 문제