Segue de UITableViewController ne fonctionne pas comme pousser, seulement comme modal

StackOverflow https://stackoverflow.com/questions/8814756

  •  26-10-2019
  •  | 
  •  

Question

J'ai cette pile de vue:

UIViewController --> (Modal segue) --> 
UITabBarController --> (relationship) --> 
UINavigationController --> (relationship) --> 
UITableViewController --> (segue) --> UIViewController

Voici mon code Segue dans le UITableViewController:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"selected row...");
    [self performSegueWithIdentifier:@"showVmail" sender:self];
    NSLog(@"done segue");
}

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"showVmail"]) {
        NSLog(@"Got segue request...");
        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];

        [segue.destinationViewController setMyVmail: [self.vmails objectAtIndex:indexPath.row]];

    }
}

Lorsque je clique sur un élément dans le contrôleur de vue de la table, je vois ces messages du journal:

selected row...
Got segue request...
Setting myVmail... // from the new view controller
done segue

Et il ne se déplace pas sur mon nouveau contrôleur de vue. Si je change un Modal, segue cela fonctionne, mais bien sûr, il n'y a pas de bouton Retour. Pour autant que je peux voir, Ive tout fait correctement. J'ai lu beaucoup de réponse un cas de débordement de la pile, avec le même problème, et leur résolution est de mettre dans le UINavigationController. Ive déjà fait.

Toute pensée serait muchly apprécié!

Était-ce utile?

La solution

J'ai essayé la suggestion vu ailleurs où vous devriez revenir aux cas simples. J'ai changé le UINavigationController dans le story-board pour pointer vers un UIViewController de base et pour cela d'avoir un bouton qui segued à un autre UIViewController. Quand je l'ai couru, je toujours mon UITableViewController!

C'est quand je me suis souvenu que je remplissais les objets programatically du UITabBarController, et que je n'invoquaient pas le UINavigationController, mais sauter cela et invoquer le UITableViewController! Donc, en fait, je ne faisais la même question que tout le monde, le manque UINavigationController!

Modifier mon programme pour lier le UINavigationController au lieu du UITableViewController et que tout fonctionne maintenant comme prévu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top