0
봐 :CATransition 및 특정 실행 시간 (AppDelegate에있는)이 샘플 코드에서
- (void)showOtherView {
if (self.viewController.view == view1) {
self.viewController.view = view2;
} else {
self.viewController.view = view1;
}
CATransition *animation = [CATransition animation];
[animation setType:kCATransitionMoveIn];
[animation setSubtype:kCATransitionFromRight];
[animation setDuration:0.5];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[[self.window layer] addAnimation:animation forKey:@"myKey"];
}
이 방법은 단순히 뷰 1에 뷰 2 전환됩니다. 내가 이해하지 못하는 것은 CATransition 선언하고 뷰 2를에 self.viewController.view를 할당 한 후 window.layer 에 추가되어있다. 왜 애니메이션이 작동합니까?
중단 점을 설정하고 showOtherView 메서드가 완료된 후 전환이 움직이는 것으로 파악했습니다. 왜? 그냥 보기 2 화면에 즉시 나타나지 않는 이유는 무엇입니까? (적어도이 메소드를 호출하는 경우)