Вопрос

У меня есть простые контроллеры Master и подробностей, связанные с двумя целями, один для «Показать деталь» и один для «Добавить новый».

    .
  • "Показать деталь" Segues к подробному контроллеру представления с заданием: нет.
  • tap "+" (add icon) segues к Контроллеру по деталям представления с заданием: Да

    iOS 5.1: «+» работает, как я ожидаю, эта страница детализации находится в режиме редактирования и редактирование ваших огней, чтобы показать индикаторы вставки и удаления.

    iOS 6.0: «+» делает переход на страницу «Деталь», но редактирование «YleForeAtindexPath никогда не пожали ».Другой код, который находится в задании: да, выполняется.Didelectrowatindexpath делает огонь (делегат= я).

    один раз на режиме редактирования деталей работает как ожидается в обоих случаях.

    Любые идеи?

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

Это было полезно?

Решение

Я подумал это.Я не знаю, почему это исправление, я надеюсь, что это не заменяет плохой код с худшим кодом.

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

Для iOS 6 Мне нужна DetailViewController, чтобы позвонить в метод делегата, чтобы определить, следует ли настроить: да.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top