Pregunta

Tengo controladores de vista maestros y detalles simples conectados con dos seguas, uno para "Detalles de muestre" y uno para "Agregar nuevo".

  • "Mostrar detalles" Segues en el controlador de vistas detalladamente con SetEniting: No.
  • Toque "+" (Agregar icono) Segues al controlador de vista de detalles con SetEnTITING: SÍ

    iOS 5.1: "+" funciona como espero, la página de detalles está en modo de edición y EDITYStyleForrowArkInDexPath Fire para mostrar los indicadores de inserción y eliminación.

    iOS 6.0: El "+" hace la transición a la página de detalles, pero EditingStyleForrowArtinDexpath nunca se dispara.Otro código que está en el establecimiento: sí se ejecuta.DIDSSSELECTROWATINGETEXPATH HA FIRE FUEGO (Delegado= yo).

    Una vez en el modo de edición de la página de detalles funciona como se espera en ambos casos.

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

¿Fue útil?

Solución

lo descubrí.No sé por qué esta es la solución, espero que esto no reemplace un código malo con un código peor.

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

Para iOS 6, necesitaba el control de detalle para hacer una llamada a un método delegado para determinar si desea establecerse: sí.

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

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top