我在iPad应用程序中有一个UISplitViewController。当从表中选择某些东西时,我想在详细视图上淡入模态视图控制器。我可以毫无问题地呈现它,但由于某种原因,我不能让它与详细视图的框架相匹配。我希望它也能在旋转时坚持细节视图控制器框架。有人对这个有经验么?这是我要显示的代码。详细视图控制器引用在app委托中设置,并向下传递给表控制器。
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 :(得分: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 :(得分:-1)
在[self.detailViewController presentModalViewController:questionView animated:YES];
之后,您应设置center
属性和/或frame
questionView
。确保在呈现模态视图后将其设置为。