2011-10-06 127 views
0

我在iPad應用程序中有一個UISplitViewController。當從表格中選擇某些東西時,我希望在細節視圖中淡入一個模式視圖控制器。我可以毫無問題地呈現它,但出於某種原因,我無法使其與詳細視圖的框架相匹配。我希望它能夠堅持旋轉的細節視圖控制器框架。有人對這個有經驗麼?這是我的代碼來顯示。詳細視圖控制器參考在應用程序委託中設置並傳遞給表控制器。顯示模態視圖控制器在UISplitViewController的詳細視圖

QuestionViewController_iPad *questionView = [[[QuestionViewController_iPad alloc] initWithNibName:@"QuestionViewController_iPad" bundle:nil] autorelease]; 
questionView.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 

// Not quite 
questionView.modalPresentationStyle = UIModalPresentationCurrentContext; 
questionView.questionQuizCon = [QuestionQuizConnection firstQuestionForQuiz:quizCatCon.quiz]; 

// Maybe something like this? 
[self.detailViewController presentModalViewController:questionView animated:YES]; 

當模態視圖禮物,它的細節視圖控制器的尺寸相匹配,但它確實不但它坐落在主視圖控制器後面的屏幕的左上角。它也不會在輪換時調整大小。我有彈簧和支柱設置爲自動調整大小和填充。旋轉時的高度會發生變化,但不會填充寬度。

+0

嘗試將'presentationStyle'設置爲'UIModalPresentationPageSheet'並看看會發生什麼。 – darvids0n

+0

這只是顯示在頁面中間的一切。 – smokingoyster

回答

0

我無法讓這看起來正確任何方式,我試過了,所以我最終只是使用視圖轉換,使它看起來像是從筆記本上撕下的頁面。無論如何,這看起來更好。

// Transition the view on as a subview. 
[UIView transitionWithView:self.detailViewController.pageView duration:1.0 
        options:UIViewAnimationOptionTransitionCurlUp 
       animations:^ { 
        questionView.view.frame = CGRectMake(0, 0, self.detailViewController.pageView.frame.size.width, self.detailViewController.pageView.frame.size.height); 
        [self.detailViewController.pageView addSubview:questionView.view]; 

        // Watch this one 
        self.detailViewController.currentQuestionViewController = questionView; 
       } 
       completion:nil]; 
-1

[self.detailViewController presentModalViewController:questionView animated:YES];之後,您應該設置center財產和/或framequestionView。確保您在之後設置呈現模態視圖。

+0

這看起來不正確。主視圖控制器消失了。 – smokingoyster

+0

這應該工作得很好。可能是你的執行錯了某個地方。 – Nekto

+0

這當然有可能。我放棄了這種方法,並在今天插入測試。誠然是一個匆忙之一。 – smokingoyster

相關問題