2012-05-30 17 views
1

我推着一個包含tableiview到我uinavigation控制器視圖控制器:停止UITableView的動畫上推到UINavigationController的

CourseMenuViewController *mvc = [[[CourseMenuViewController alloc] initWithSlidingNavigationcontroller:self.slidingNavigationController] autorelease]; 
mvc.course = course; 
[self.navigationController pushViewController:mvc animated:YES]; 
[self.navigationController setNavigationBarHidden:NO animated:NO]; 

到目前爲止好,一切按預期工作。當我觀看動畫時,出現了我的問題,並且當視圖從左側開始動畫時,看到我的所有表格視圖行都從屏幕頂部向下生成。這使得它感覺像是視圖從對角線路徑的左上角向右下角移動。

我的問題是,我怎樣才能使表視圖而不是動畫?我應該補充說,我所有的單元格都是靜態的,所以我不會等待NSFetchedResultsController或類似的任何數據。下面

roronoa把我在正確的道路上,這裏是現在工作版本:

CourseMenuViewController *mvc = [[[CourseMenuViewController alloc] initWithSlidingNavigationcontroller:self.slidingNavigationController] autorelease]; 
mvc.course = course; 

CATransition *caTransition = [CATransition animation]; 
caTransition.duration = 0.35; 
caTransition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; 
caTransition.delegate = self; 
caTransition.type = kCATransitionPush; 
caTransition.subtype = kCATransitionFromRight; 
[self.navigationController.view.layer addAnimation:caTransition forKey:nil]; 

[self.navigationController pushViewController:mvc animated:NO]; 
+0

initWithSlidingNavigationcontroller是您在CourseMenuViewController類中編寫的自定義啓動項嗎? –

+0

是的,對不起,只是認爲它是一個UINavigationController。我需要一些自定義功能,但該功能不會影響標準推送邏輯。 –

回答

1

您還沒有提及你的類CourseMenuViewController和initWithSlidingNavigationcontroller細節,但你可以使用以下方法來得到這份工作完成: -

CourseMenuViewController *mvc =[[CourseMenuViewController alloc] init]; 
[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
[UIView setAnimationDuration:1.0]; 
[self.navigationController pushViewController:mvc animated:NO]; 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO]; 
[UIView commitAnimations]; 
[mvc release]; 

你可以有你在上面的代碼通過根據您的需要動畫的常數,不會對您的tableview有不必要的動畫想要的任何類型的動畫。

+0

謝謝,這讓我走上了正確的道路。我已經更新了我的問題以包含代碼的工作版本。 –

相關問題