Изменить RootViewController внутри UISplitView

Я разрабатываю небольшой пример для iPad из шаблона XCode UISplitView. Он формируется корневым контроллером, который показан в левой части окна, и подробным представлением, которое показано в правой части.

То, чего я хочу добиться, очень просто (по крайней мере, я так думаю), но я не могу найти в документации способ сделать это.

Я хотел бы заменить корневой контроллер (который отображается слева) новым контроллером (например, в ответ на событие, запускаемое при нажатии кнопки). Я пробовал это:

ColorPicker *controlador = [[ColorPicker alloc] initWithNibName:nil bundle:nil];
[self.rootViewController presentModalViewController:controlador animated:YES];
[controlador release];

Что происходит с этим, так это то, что новый нажатый контроллер заполняет все окно, тогда как я хочу, чтобы он отображался фиксированным слева с форматом двух столбцов, которые были в начале.


person Jacob    schedule 22.06.2011    source источник


Ответы (2)


Используйте pushViewController:animated вместо этого, чтобы исправить это. О ModalViewController см. документ http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/ModalViewControllers/ModalViewControllers.html

person Azu    schedule 23.06.2011
comment
Спасибо Азу и Дипаку. В данном случае это было решением! - person Jacob; 24.06.2011

Вам нужно установить modalPresentationStyle на соответствующее значение,

controlador.modalPresentationStyle = UIModalPresentationCurrentContext;

UIModalPresentationCurrentContext указывает контроллеру представления модально появляться в кадре rootViewController.

person Deepak Danduprolu    schedule 23.06.2011