Я сделал это, сделав метод в моем detailViewController
:
-(void)popHomeScreen:(BOOL)animated//OPENS THE HOMESCREEN IN A MODAL DISPLAY
{
firstRun=NO;
//myViewControllerForPopOver init here
myViewControllerForPopOver.modalPresentationStyle = UIModalPresentationFullScreen;
myViewControllerForPopOver.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;//simple anime
if (animated) [self presentModalViewController:myViewControllerForPopOver animated:YES];
else [self presentModalViewController:myViewControllerForPopOver animated:NO];
}
Затем вызовите его методом detailViewControllers
ViewDidAppear
:
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
if(firstRun)[self popHomeScreen:NO];
}
//YOU WILL ALSO NEED TO MAKE 'firstRun=YES' in viewDidLoad
//firstRun is a BOOL
Что касается исчезновения корня (оставляя большое черное пространство) .. это известная ошибка. хотя какое-то время я думал, что это было вызвано заказом анимации в то время как / непосредственно перед тем, как она собиралась нарисовать себя.
Кроме того, я обнаружил, что если я вставил полноэкранный модал в splitView, то быстро вставил другой модал, основанный на форме (например), после того, как полноэкранный модал нарисовался неправильно.
SplitViews похожи на вашу свекровь, они вам не очень нравятся, и когда вы должны их использовать, вам приходится обходить минами все вокруг.