Я нашел много людей, которые спрашивали информацию о том, как иметь представление «Мастер», отображаемое как в пейзажной, так и в портретной ориентации, но то, что я пытаюсь сделать, - это иметь право главный вид скрыт независимо от ориентации устройства и выскакивает сбоку с помощью кнопки навигации.Скрывающий мастер-контроллер просмотра в SplitView независимо от ориентации устройства
Что мне очень помогло бы, если бы кто-нибудь мог сказать мне, где логика скрытия главного представления находится/выполняется, когда устройство переориентируется. Я смотрел шаблон, который поставляется с Xcode, Master/detail view для iOS, и я заметил, что эти два следующих метода объявлены в файле AppDelegate.m, но я не могу найти, где они выполняются из :
//Called when a button should be added to the nav bar for a view that is hidden
- (void)splitViewController:(UISplitViewController *)splitController willHideViewController: (UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)popoverController
{
barButtonItem.title = NSLocalizedString(@"Master", @"Master");
[self.navigationItem setLeftBarButtonItem:barButtonItem animated:YES];
self.masterPopoverController = popoverController;
}
- (void)splitViewController:(UISplitViewController *)splitController willShowViewController:(UIViewController *)viewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem
{
// Called when the view is shown again in the split view, invalidating the button and popover controller.
[self.navigationItem setLeftBarButtonItem:nil animated:YES];
self.masterPopoverController = nil;
}
Вся помощь будет оценена по достоинству.
Спасибо за ответ и ссылки. Обязательно проверьте это. – Hrafn
Несомненно, никаких проблем. Кроме того, похоже, что совсем недавно в iOS 5.0 они добавили функциональность, чтобы сделать именно то, что вы ищете! Хотя у MGSplitViewController есть много отличных дополнительных функций, это может быть простое исправление, которое вы ищете. @MrDresden – Highrule
Есть ли способ отобразить контроллер вида, как только вы его спрятали? Кажется, я не могу найти способ снова вызвать эту функцию – Kyle