반응형
모달 UIViewController의 애니메이션 스타일을 어떻게 변경할 수 있습니까?
현재 다음과 같은 UIViewController를 표시하고 있습니다.
[[self navigationController] presentModalViewController:modalViewController animated:YES];
다음과 같이 숨 깁니다.
[self.navigationController dismissModalViewControllerAnimated:YES];
애니메이션은 "아래에서 위로 슬라이드"입니다. 그런 다음 다시 아래로 슬라이드합니다. 애니메이션 스타일은 어떻게 변경합니까? 페이드 인 / 아웃 할 수 있습니까?
건배!
Marcus Zarra는 SDK 메일 링리스트에 이에 대한 훌륭한 솔루션을 게시했습니다.
UIViewController *controller = [[[MyViewController alloc] init] autorelease];
UIViewAnimationTransition trans = UIViewAnimationTransitionCurlUp;
[UIView beginAnimations: nil context: nil];
[UIView setAnimationTransition: trans forView: [self window] cache: YES];
[navController presentModalViewController: controller animated: NO];
[UIView commitAnimations];
뒤집기 및 페이지 말림 전환이 있습니다. 페이딩으로 설정된 경우 새 뷰의 알파를 조정 해 볼 수 있습니다.
UIViewController *controller = [[[MyViewController alloc] init] autorelease];
controller.view.alpha = 0.0;
[navController presentModalViewController: controller animated: NO];
[UIView beginAnimations: nil context: nil];
controller.view.alpha = 1.0;
[UIView commitAnimations];
그러나 아마도 원하는 것은 크로스 페이드 또는 적어도 페이드 오버입니다. UINavigationController가 새보기로 전환되면 이전보기를 제거합니다. 이 효과의 경우 기존 UIViewController에 새 뷰를 추가하고 시간이 지남에 따라 알파를 페이드 인하는 것이 더 좋습니다.
참고 : 앱에 있지 않은 경우 위임 [셀프 창]이 작동하지 않습니다. 이것을 지적한 user412500의 게시물 덕분에 self.view.window를 사용하십시오.
iPhone 3.0+의 경우 다음과 같이 기본 크로스 페이드가 가장 쉽습니다.
modalViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[[self navigationController] presentModalViewController:modalViewController
animated:YES];
iOS 4에서 알파 페이딩을 업데이트하려면 :
modalController.view.alpha = 0.0;
[self.view.window.rootViewController presentModalViewController:modalController animated:NO];
[UIView animateWithDuration:0.5
animations:^{modalController.view.alpha = 1.0;}];
그것은해야 [self.view.window]
작업에 코드를 위해
(적어도 그것은 ios 3.2에있는 방식입니다)
반응형
'Development Tip' 카테고리의 다른 글
신속하게 원에 이미지를 설정하는 방법 (0) | 2020.11.02 |
---|---|
Android에서 길게 누르기 감지 (0) | 2020.11.02 |
MySQL은 큰 데이터베이스에서 중복을 빠르게 제거 (0) | 2020.11.02 |
JavaScript 유효성 검사가 나쁜가요? (0) | 2020.11.02 |
Chrome에서 고정 요소가 사라짐 (0) | 2020.11.02 |