У меня проблема с UIViewController, пожалуйста, сначала прочитайте, прежде чем ответить, это сложнее, чем кажется. Без изменения супер вращение UIViewController работает без проблем!
У меня есть UISplitViewController в книжной ориентации, затем я нажимаю на кнопку, чтобы показать UIPopoverController
Теперь я изменяю UIViewController с UISplitViewC на UITableViewC
Теперь я поворачиваю iPad в альбомную ориентацию
И, наконец, переключитесь обратно на SpliViewController!
Как видите, MasterViewController не отображается, а NavigationItem не исчезает.
Это подводит меня к предположению, что функция делегата splitview не вызывается при вращении UITableViewController (не удивительно)
Как я могу решить эту проблему?
Функции делегатов
- (void)splitViewController: (UISplitViewController*)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController: (UIPopoverController*)pc {
//debug_NSLog(@"Entering portrait, showing the button: %@", [aViewController class]);
barButtonItem.title = @"Akten";
[self.navigationItem setLeftBarButtonItem:barButtonItem animated:YES];
[self setMasterPopover: pc];
}
// Called when the view is shown again in the split view, invalidating the button and popover controller.
- (void)splitViewController: (UISplitViewController*)svc willShowViewController:(UIViewController *)aViewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem {
//debug_NSLog(@"Entering landscape, hiding the button: %@", [aViewController class]);
[self.navigationItem setLeftBarButtonItem:nil animated:NO];
[self setMasterPopover: nil];
}
Спасибо за вашу помощь!