Domanda

ho questo stack di vista:

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

Ecco il mio codice segue nella 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]];

    }
}

Quando clicco su un elemento nel controllore vista tabella, vedo questi messaggi di log:

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

E non si muove sul mio nuovo controller della vista. Se cambio ad un modale, Segue funziona, ma naturalmente non esiste un pulsante Indietro. Per quanto posso vedere, Ive fatto tutto correttamente. Ho letto molti risposta a su stack overflow, con lo stesso problema, e la loro risoluzione è quello di mettere in UINavigationController. Ive già fatto.

Ogni pensiero sarebbe muchly apprezzato!

È stato utile?

Soluzione

Ho provato il suggerimento visto altrove che si dovrebbe tornare a casi semplici. Ho cambiato l'UINavigationController nello storyboard per puntare a un UIViewController base e poi per quella di avere un pulsante che segued ad un altro UIViewController. Quando ho eseguito, ho ancora avuto il mio UITableViewController!

Questo è quando mi sono ricordato che ero programatically compilando gli oggetti nel UITabBarController, e che non è stato richiamando l'UINavigationController, ma saltando che e invocando l'UITableViewController! Quindi, in realtà, io davvero stavo avendo lo stesso problema come tutti gli altri, manca l'UINavigationController!

Cambiare il mio programma per collegare l'UINavigationController al posto del UITableViewController e tutto ora sta funzionando come previsto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top