Domanda

Ho semplici controller di visualizzazione master e dettagli collegati con due segmenti, uno per "Mostra dettagli" e uno per "Aggiungi nuovo".

    .
  • "Mostra dettaglio" Segues al controller di visualizzazione dei dettagli con set heeteting: no.
  • Toccare "+" (aggiungi icona) Segues al controller di visualizzazione dettagliata con Setatiting: Sì

    iOS 5.1: "+" funziona come mi aspetto, la pagina dei dettagli è in modalità Modifica e editingStyleForthOwATINDEXPath Spaces per mostrare gli indicatori Inserisci ed Elimina.

    iOS 6.0: il "+" rende la transizione verso la pagina dei dettagli ma editingstyleforrowreatindexpath non si spara mai.Altro codice che è in seturazione: sì viene eseguito.DidSecTrowaTindexpath fa fuoco (delegato= sé).

    Una volta sulla modalità di modifica della pagina dei dettagli funziona come previsto in entrambi i casi.

    Qualche idea?

    // Master.m
    if([[segue identifier] isEqualToString:@"NewRecipe"]) {
    
        DetailViewController *detailViewController = [segue destinationViewController];
        // stuff
        detailViewController.recipe = r;     
        detailViewController.delegate = self;
        detailViewController.editing = YES;
    }
    
    
    // Detail.m
    -(void)setEditing:(BOOL)flag animated:(BOOL)animated {
    
       if (flag) {
    
       [self.tableView setEditing:flag animated:YES];
       [self.tableView beginUpdates];
       // the row does get added
       [self.tableView insertRowsAtIndexPaths:@[pathToAdd] withRowAnimation:UITableViewRowAnimationAutomatic];  
        // datasource gets updated here
        [self.tableView endUpdates];
        .... 
        }
    }
    
    .

È stato utile?

Soluzione

L'ho capito.Non so perché questa è la correzione, spero che questo non sostituisca il codice cattivo con il codice peggiore.

 Master.m
// iOS 5 -- this is OK
detailViewController.editing = YES;
.

Per iOS 6 Avevo bisogno del dettaglioViewController per effettuare una chiamata a un metodo delegato per determinare se impostare: Sì.

Master.m
-(BOOL)isNewRecipe {
    return (_isNewRecipe == 1);
}

Detail.m
if ([self.delegate isNewRecipe]) {
    [self setEditing:YES];        
}
.

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