1
我有一個基於導航的應用程序,我想更改推送和流行動畫的動畫。我會怎麼做?基於導航的應用中的推送和流行動畫
當我推任何viewController它表示爲彈出和當我彈出任何viewController它表示爲推。
我有一個基於導航的應用程序,我想更改推送和流行動畫的動畫。我會怎麼做?基於導航的應用中的推送和流行動畫
當我推任何viewController它表示爲彈出和當我彈出任何viewController它表示爲推。
-(void)pushViewController:(UIViewController *)viewController{
float width = self.frame.size.width;
float height = self.frame.size.height;
[viewController.view setFrame:CGRectMake(width, 0.0, width, height)];
[self addSubview:viewController.view];
[UIView animateWithDuration:0.33f
delay:0.0f
options:UIViewAnimationOptionCurveEaseInOut | UIViewAnimationOptionAllowUserInteraction
animations:^{
[viewController.view setFrame:self.frame];
[self setFrame:CGRectMake(0.0, 0.0, width, height)];
}
completion:^(BOOL finished){
}];
}
CATransition *transition = [CATransition animation];
transition.duration = 0.3f;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionPush;
transition.subtype=kCATransitionFromRight;
kCATransitionFromLeft or kCATransitionFromRight
[self.navigationController.view.layer addAnimation:transition forKey:nil];
添加此你推視圖控制器的自定義動畫
由於iOS的7之前,對這個官方的API;請參閱UINavigationControllerDelegate的自定義過渡動畫支持。還有關於這個的WWDC 2013視頻。從這裏你將不得不考慮它是否支持ios8等。 –
看看這個問題http://stackoverflow.com/questions/1406037/custom-animation-for-pushing-a-uiviewcontroller –