UISplitViewController iOS 5.1 вызывает ошибку направления стрелочной стрелки
Мое приложение отлично работало до iOS 5.1. Это UISplitviewController
с UINavigationController
в левой панели и обновляет панель деталей в зависимости от выбора, сделанного в этом UINavigationController
.
Новый сдвиг с левой замены для popover, эндемичный для iOS 5.1 работает; он не выглядит великолепно, но он работает.
То, что кажется сломанным, - это отображение "popover" из кнопки панели в портрете. Это вызывает исключение - 'NSInternalInconsistencyException', reason: 'Unknown direction passed to _popoverViewSizeForContentSize:arrowDirection:'
Я попытался переопределить метод, который отображает popover следующим образом:
-(void)splitViewController:(UISplitViewController *)svc popoverController:(UIPopoverController *)pc willPresentViewController:(UIViewController *)aViewController
{
[self.popoverController presentPopoverFromBarButtonItem:self.masterPopoverButtonItem permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
Но я все равно получаю ту же ошибку. Может ли кто-нибудь помочь?
Ответы
Ответ 1
Используйте приведенные ниже делегаты для отображения главной страницы с подробной страницы
- (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;
}