0

Я просто пытаюсь сделать очень простой пример, когда я начинаю вникать в iOS-разработку для ipad.Почему модальная форма формы не отображается, как ожидалось?

Я создаю разделенный вид и сразу же пытаюсь представить лист модальной формы. Должно быть действительно базовым.

С тем, что я пробовал, я получаю то, что ведет себя как лист листа. В ландшафте я вижу вид сплита внизу, но я не вижу вершины моего модального вида (панель инструментов скрыта, но выглядит на портрете).

Я ожидал бы просто серого цвета в режиме разделения под модальным диалогом 540x620. Я должен видеть разделенный вид под моим модальным как в портрете, так и в ландшафте, например, все симпатичные диалоговые окна листа в приложении Cheddar.

Я должен делать что-то неправильно здесь, но все примеры, которые я прочитал, и то же самое в приложении Cheddar делают в значительной степени то, что я описываю ниже.

В приложение делегата:

MasterViewController *masterViewController = [[MasterViewController alloc] initWithNibName:@"MasterViewController" bundle:nil]; 
UINavigationController *masterNavigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController]; 

DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil]; 
UINavigationController *detailNavigationController = [[UINavigationController alloc] initWithRootViewController:detailViewController]; 

masterViewController.detailViewController = detailViewController; 

self.splitViewController = [[UISplitViewController alloc] init]; 
self.splitViewController.delegate = detailViewController; 
self.splitViewController.viewControllers = @[masterNavigationController, detailNavigationController]; 
self.window.rootViewController = self.splitViewController; 

[self.window addSubview:self.splitViewController.view]; 

ModalViewController *modalView = [[ModalViewController alloc] initWithNibName:@"ModalViewController" bundle:nil]; 
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:modalView]; 
navController.modalPresentationStyle = UIModalPresentationFormSheet; 

[self.splitViewController presentViewController:navController animated:NO completion:nil]; 
+0

Я отправил ответ на аналогичный вопрос здесь: http://stackoverflow.com/questions/10104706/present-modal-form-sheet-over-modal-page-sheet/22103328#22103328 – Matjan

+0

Я разместил ответьте на аналогичный вопрос здесь: http://stackoverflow.com/questions/10104706/present-modal-form-sheet-over-modal-page-sheet/22103328#22103328 – Matjan

+0

Я ответил на аналогичный вопрос [здесь] [1] [1]: http://stackoverflow.com/questions/10104706/present-modal-form-sheet-over-modal-page-sheet/22103328#22103328 – Matjan

ответ

0

приложение делегата слишком рано. У вас еще нет интерфейса, поэтому вы не можете согласовать какие-либо представления любого контроллера вида.

Итак, во-первых, переместите весь свой код modalView на viewDidAppear: вашего detailViewController.

+0

Welp, я переместил модальный материал для detail: viewDidLoad, и я получаю те же результаты. – topwik

+0

Я не сказал 'viewDidLoad', я? В 'viewDidLoad' до сих пор нет интерфейса! Пожалуйста, попробуйте то, что я на самом деле сказал, чтобы попробовать. – matt

+0

argh, мои извинения, не знаю, почему я читаю viewDidLoad ... – topwik