0

La version iPad d'une de mes applications utilise un contrôleur UISplitView sur lequel je charge les contrôleurs UINavigationController sur les deux contrôleurs de vue. Lors de certains événements, les contrôleurs de vue voient les nouveaux contrôleurs poussés et sautés. Lorsque j'utilise l'application dans tout ce paysage fonctionne très bien, alors que quand je l'utilise en mode portrait que je reçois:Appels non équilibrés pour commencer/terminer les transitions d'apparence pour <UITableView> dans le portrait de l'iPad

appels à déséquilibrées début/fin des transitions d'apparence pour iPuja.MonastersAndCentersTableViewController: 0x18d7b020. malgré tout semble bien fonctionner, à part l'erreur.

Voilà comment je pop le contrôleur maître du détail un (Swift):

@IBAction func dismiss(sender: AnyObject) { 
    self.navigationController?.popViewControllerAnimated(true) 
    (self.splitViewController?.viewControllers[0] as? UINavigationController)?.popViewControllerAnimated(true) 
} 

et ce que je le pousse (objectif-c):

if([[[UIDevice currentDevice] model] isEqualToString:@"iPad"]){ 
    UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"StoryboardiPad" bundle: nil]; 
    UIViewController *controller = [mainStoryboard instantiateViewControllerWithIdentifier: @"editCenters"]; 
    [self.splitViewController.viewControllers[0] pushViewController:controller animated:YES]; 
} 

Si je sauter sauter le contrôleur maître Je ne reçois pas d'erreur, mais bien sûr, le détail du maître ne s'affiche pas lorsque je l'affiche. Curieusement, si j'affiche brièvement le contrôleur principal dans Portrait en le faisant glisser, l'erreur n'est plus affichée, jusqu'à ce que je la fasse pivoter en mode paysage et la fasse à nouveau pivoter en mode portrait.

Répondre

0

J'ai géré le problème en retardant les opérations sur le contrôleur principal à quand il est montré. Le code est un peu moins élégant, mais l'avertissement est parti.