兩個UIView之間的翻轉(zhuǎn)可以用動畫效果翻轉(zhuǎn)(上下,左右)
UIViewController之間的切換除了UINavigationController里面的pushViewController和 popViewController與UITalbarController在viewControllers之間的切換外, 我們還可以在其他地方自由的進行ViewController切換:
MyViewController *_myViewController = [[MyViewController alloc] init];
_myViewController.modalTransitionStyle =UIModalTransitionStyleFlipHorizontal;
[selfpresentModalViewController: _myViewController Animated: YES];
[_myViewController release];
有四種切換形式(modalTransitionStyle):
UIModalTransitionStyleFlipHorizontal
UIModalTransitionStyleCoverVertical (default)
UIModalTransitionStyleCrossDissolve
UIModalTransitionStylePartialCurl
退回方法:[selfdismissModalViewControllerAnimated:YES];
與此對應的是播放視頻時:
[selfpresentMediaPlayerViewController:moviePlayer Animated:YES];
[selfdismissMediaPlayerViewControllerAnimated:YES];
========================================
實現(xiàn)UINavigationController視圖切換
- (void)dismissModalViewControllerAnimated:(BOOL)animated
- (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
- (UIViewController *)popViewControllerAnimated:(BOOL)animated
這4個方法,兩兩對應,前2個是上下推,后面2個是左右推
實現(xiàn)pushViewController:animated:的不同頁面轉(zhuǎn)換特效
1. 首先要明確的是,不使用pushViewController的默認動畫,所以在調(diào)用這個函數(shù)時,要將animated設(shè)置為NO.
2. 使用普通的來CATransition實現(xiàn)轉(zhuǎn)換效果,代碼如下:
CATransition *animation = [CATransition animation];
[animation setDuration:0.3];
[animation setType: kCATransitionMoveIn];
[animation setSubtype: kCATransitionFromTop];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionDefault]];
[self.navigationController pushViewController:m_poseAddIssueViewController animated:NO];
[self.navigationController.view.layer addAnimation:animation forKey:nil];