2011-12-19 2 views
2

У меня проблема с UIViewController, сначала прочитайте, прежде чем отвечать, это сложнее, чем кажется. Без изменения вращения супер UIViewController работает без проблем!UISpliViewController DetailView исчезает после вращения

У меня есть UISplitViewController в книжной ориентации, чем я KLICK на кнопке, чтобы показать UIPopoverController Popover shown теперь я изменить UIViewController от UISplitViewC к UITableViewC tableview Теперь я повернуть IPad в альбомной ориентации tableview landscape И, наконец, вернитесь к SpliViewController! splitviewcontroller landscape Как вы можете видеть, 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]; 
    } 

Спасибо за вашу помощь!

+0

Такая же проблема здесь. Если вы решите, можете ли вы опубликовать, как вы это делаете? благодаря – masgar

ответ

0

Это слишком давно, но до тех пор, как я помню, это было что-то вроде здесь stackoverflow.com/questions/4649617/...
Вы мастер вид контроллера необходимо реализовать получить SplitView делегата и направить его SPLITVIEW даже если он не виден.

Без гарантии, как я уже говорил, давно

0

Здесь вызывается точно такая же проблема, как функция делегата, вы можете проверить это, поставив NSLog . Другой способ сделать свой собственный контроллер popover & называть его методом didrotate.