Отображение модального представления контроллера над подробным представлением в UISplitViewController - PullRequest
0 голосов
/ 07 октября 2011

У меня есть UISplitViewController в приложении для iPad.Когда что-то выбрано из таблицы, я хочу добавить контроллер модального представления поверх подробного представления.Я могу представить его без проблем, но по какой-то причине я не могу заставить его соответствовать рамке подробного вида.Я хотел бы, чтобы он также придерживался фрейма контроллера детального просмотра при вращении.У кого-нибудь есть опыт с этим?Это мой код для отображения.Ссылка на контроллер подробного представления задается в делегате приложения и передается в контроллеры таблицы.

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];

Когда представлено модальное представление, оно соответствует размеру контроллера подробного представления, но это не так, носидит в левом верхнем углу экрана за главным контроллером вида.Это также не меняет размер при вращении.У меня есть пружины и стойки установлены на автоматический размер и заполнение.Высота изменяется при вращении, но не будет заполнять ширину.

Ответы [ 2 ]

0 голосов
/ 24 октября 2011

Я не мог сделать так, чтобы это выглядело правильно, как бы я ни пытался, поэтому я просто использовал переходы между представлениями, чтобы они выглядели как страницы, оторванные от ноутбука.Это выглядит лучше в любом случае.

// 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];
0 голосов
/ 07 октября 2011

После [self.detailViewController presentModalViewController:questionView animated:YES]; вы должны установить свойство center и / или frame из questionView. Убедитесь, что вы установили после представления модального вида.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...