显示模态视图控制器在UISplitViewController的详细视图
我在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];
当模态视图礼物,它的细节视图控制器的尺寸相匹配,但它确实不但它坐落在主视图控制器后面的屏幕的左上角。它也不会在轮换时调整大小。我有弹簧和支柱设置为自动调整大小和填充。旋转时的高度会发生变化,但不会填充宽度。
我无法让这看起来正确任何方式,我试过了,所以我最终只是使用视图转换,使它看起来像是从笔记本上撕下的页面。无论如何,这看起来更好。
// 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];
[self.detailViewController presentModalViewController:questionView animated:YES];
之后,您应该设置center
财产和/或frame
的questionView
。确保您在之后设置呈现模态视图。
这看起来不正确。主视图控制器消失了。 – smokingoyster
这应该工作得很好。可能是你的执行错了某个地方。 – Nekto
这当然有可能。我放弃了这种方法,并在今天插入测试。诚然是一个匆忙之一。 – smokingoyster
尝试将'presentationStyle'设置为'UIModalPresentationPageSheet'并看看会发生什么。 – darvids0n
这只是显示在页面中间的一切。 – smokingoyster