iPhone在使用tabbar時如何使用轉換動畫

jopen 10年前發布 | 22K 次閱讀 iPhone iOS開發 移動開發

參考《iphone3 開發基礎教程》這本書的寫了一個例子,用到了UITabBarController,但是發現一個問題,教程提供的例子里切換界面時沒有動畫效果,體驗效果很不好。之前的例子在添加動畫時,界面的跳轉是由自己來實現的,類似下面的代碼:

[yellowViewController.view removeFromSuperview];

CATransition* animation = [CATransition animation];

[animation setDuration:0.5f];

[animation setType:kCATransitionPush];

[animation setSubtype:kCATransitionFromRight];

[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]];

[[self.view layer]addAnimation:animation forKey:@"switchView"];

[self.view insertSubview:blueViewController.view atIndex:0];</pre>

將動畫的代碼放在兩個界面切換的中間就行了。

 

但是這里界面切換的實現全部由UITabBarController,也就是系統自動幫你來實現了,要在哪里添加動畫代碼呢?

很簡單,寫一個類繼承自UITabBarController,然后實現下面這個委托方法就行了:

-(void)tabBar:(UITabBar)atabBar didSelectItem:(UITabBarItem)item

{

CATransition* animation = [CATransition animation];

[animation setDuration:0.5f];

[animation setType:kCATransitionFade];

[animation setSubtype:kCATransitionFromRight];

[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]];

[[self.view layer]addAnimation:animation forKey:@"switchView"];

}</pre>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!