2

У меня есть 2 UINavigationControllers в UISplitViewController. Я хочу изменить элементы кнопки панели управления деталями, когда пользователь переходит в портретный режим на iPad. Я использовал, чтобы быть в состоянии изменить его, выполнивИзменение деталей Навигация Элементы в UISplitViewController iOS 8

- (void)splitViewController:(UISplitViewController *)svc willHideViewController: (UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)pc 
{ 
barButtonItem.title = @"Title"; 

//put on left side 
self.navigationItem.leftBarButtonItem = barButtonItem; 

}

Но этот метод является устаревшим в прошивке 8.

Я попытался с помощью

- (void)splitViewController:(UISplitViewController *)svc willChangeToDisplayMode:(UISplitViewControllerDisplayMode)displayMode 
{ 
     if (displayMode == UISplitViewControllerDisplayModePrimaryHidden) { 
      self.navigationItem.leftBarButtonItem.title = @"title";//self being the detail controller  
     } 
} 

Но это не работа

Я также рассмотрел другие вопросы и не нашел объяснений. Может кто-нибудь указать мне в правильном направлении?

ответ

0

Мне удалось выяснить это.

Theres новое свойство DisplayMode и это новый UIBarButtonItem

Это как реализовать его

- (void)splitViewController:(UISplitViewController *)svc willChangeToDisplayMode: (UISplitViewControllerDisplayMode)displayMode 
{ 
UINavigationItem *navItem = self.navigationItem; 
navItem.leftBarButtonItem = [svc displayModeButtonItem]; 

} 
- (UISplitViewControllerDisplayMode)targetDisplayModeForActionInSplitViewController:(UISplitViewController *)svc 
{ 
if (svc.displayMode == UISplitViewControllerDisplayModePrimaryHidden) 
return UISplitViewControllerDisplayModeAllVisible; 

return UISplitViewControllerDisplayModePrimaryHidden; 
} 
Смежные вопросы