У меня пропал навигационный элемент с popover в контроллере правого представления внутри UISplitViewController. Просто кнопка не появляется, когда я поворачиваю iPad на портретную ориентацию. Код в порядке, я использовал один и тот же (не совсем конечно) много раз, но сейчас у меня есть эта странная ошибка.Отсутствует UIBarButtonItem в UISplitViewController
- (void)splitViewController:(UISplitViewController *)svc
willHideViewController:(UIViewController *)aViewController
withBarButtonItem:(UIBarButtonItem *)barButtonItem
forPopoverController:(UIPopoverController *)pc
{
barButtonItem.title = aViewController.title;
self.navigationItem.rightBarButtonItem = barButtonItem;
/*
this method gets called, class is set to be delegate of split view,
barButtonItem && self.navigationItem are not nils.
*/
}
- (void)splitViewController:(UISplitViewController *)svc
willShowViewController:(UIViewController *)aViewController
invalidatingBarButtonItem:(UIBarButtonItem *)button
{
self.navigationItem.rightBarButtonItem = nil;
}
Все эти вещи будет создаваться с помощью кода, как это ...
UISplitViewController *svc = [[UISplitViewController alloc] init];
UINavigationController *rightNav = [[UINavigationController alloc] init];
DetailViewController *dvc = [[DetailViewController alloc] initWithSomeArgs:args];
[rightNav pushViewController:dvc animated:NO];
svc.delegate = dvc;
svc.viewControllers = [NSArray arrayWithObjects:tabBarController, rightNav, nil];
// tabBar is good, not nil and working well on the iPhone
[self.window addSubview:svc.view];
[dvc release]; [rightNav release];
Я понятия не имею, почему это не работает, и мне нужно, чтобы понять это как можно скорее. Помоги мне, пожалуйста.
Что происходит, когда вы [self setPopoverController: pc]; в первом методе (и [self setPopoverController: nil], во втором)? –
Нет свойства popoverController в DetailViewController – Woyo