2010-02-27 74 views
5

我想解僱一個頁面捲曲的modalviewcontroller。捲曲工作正常,但我似乎無法得到在modalviewcontroller下顯示的tableview。 modalviewcontroller的圖像仍在捲曲頁面之下。如果我在動畫完成之前關閉了模態視圖控制器,則不會顯示動畫。這裏是我的代碼:關閉頁面捲曲的modalviewcontroller

//hide splash screen 
- (void)hideSplash{ 
[UIView beginAnimations:nil context:nil]; 
//change to set the time 
[UIView setAnimationDuration:2]; 
[UIView setAnimationBeginsFromCurrentState:YES]; 
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:modelView cache:NO]; 
// do your view swapping here 

//[[self modalViewController] dismissModalViewControllerAnimated:NO]; 

[UIView commitAnimations]; 
//[self.view sendSubviewToBack:self.view]; 

} 

希望有人能幫助!乾杯Nick

回答

4

在iOS4的:

到現在,它的東西,如:

[containerView addSubview:modelView]; 
[UIView transitionWithView:containerView 
        duration:.75 
        UIViewAnimationOptionTransitionCurlUp 
       animations:^{} 
       completion:^(BOOL finished) { 
        NSLog(@"finished %d", finished); 
       }]; 

要關閉,使用UIViewAnimationOptionTransitionCurlDown

3

你的setAnimationTransition:不應該是forView:modelView;它應該是爲父視圖。

[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:containerView cache:NO]; 

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIView_Class/UIView/UIView.html

如果你想有一個過程中更改視圖的外觀 過渡爲 例如,翻轉從一個視圖到 另一個,然後使用一個容器視圖,一個 實例的UIView,如下:

  • 開始一個動畫塊。
  • 在容器視圖上設置 轉換。
  • 從容器中刪除子視圖 視圖。
  • 將新的子視圖添加到 容器視圖。
  • 提交動畫 塊。

此方法的使用是 阻止iOS 4.0及更高版本。您應該使用基於塊的動畫 方法代替。