Question

J'ai un maître simple et des contrôleurs de vue de détail connectés à deux segues, un pour "Afficher les détails" et un pour "Ajouter un nouveau".

  • "Afficher détail" Segues au contrôleur de vue détaillé avec la définition: non.
  • Tapez sur "+" (Ajouter une icône) Segues au contrôleur de vue de détail avec la définition: Oui

    iOS 5.1: "+" fonctionne comme je m'attends, la page de détail est en mode édition et d'éditionStyleFornorTindexpath Feux pour afficher les indicateurs d'insertion et de suppression.

    iOS 6.0: Le "+" fait la transition vers la page de détail mais EditionStyleFornorTindexpath ne tire jamais.Autre code qui est dans la définition: oui est exécuté.didSelectrowatidexpath fait le feu (délégué= moi).

    Une fois sur la page de détail, le mode édition fonctionne comme prévu dans les deux cas.

    Des idées?

    // 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];
        .... 
        }
    }
    

Était-ce utile?

La solution

Je l'ai compris.Je ne sais pas pourquoi c'est la solution, j'espère que cela ne remplace pas de mauvais code avec le pire code.

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

Pour iOS 6, j'avais besoin de la DétailViewController pour appeler une méthode de délégation pour déterminer si la mise en place: Oui.

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

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

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