1. 首先要明确的是,不使用pushViewController的默认动画,所以在调用这个函数时,要将animated设置为 NO. 2. 使用普通的来CATransition实现转换效果,代码如下: 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:nill];