2014-09-12 4 views
1

Я внедрил кнопку раскрытия подробностей на моей ячейке просмотра таблицы, чтобы редактировать существующие тексты в ячейках. Но проблема в том, что когда я нажимаю кнопку «Демонстрация подробностей», она показывает существующее текстовое поле, но без кнопок «Редактировать» и «Отменить» на верхней панели. Я дал имя идентификатора segue как «EditItem». У меня также есть другой segue, который называется AddItem, который работает правильно и показывает элемент «Редактировать» и «Отменить». Я проверил код много раз, чтобы узнать проблему, но не нашел решения. Я хочу знать, как решить эту проблему.Элементы панели пульта не отображаются

Я использую Xcode 6 beta 6 SDK.

+0

Как вы добавляете элементы панели? Можем ли мы увидеть ваш код? – NobodyNada

+0

Sure! Вот ссылка: https://www.dropbox.com/s/gylo67z2n00yc9i/TableView.zip?dl=0 Спасибо! – MdRiduan

ответ

1

Ваша проблема в том, что вы не добавляете элемент так же, как вы редактируете элемент. Посмотрите на это:

if ([segue.identifier isEqualToString:@"AddItem"]){ 
     UINavigationController *navigation = segue.destinationViewController; 
     AddItemViewController *controller =(AddItemViewController *) navigation.topViewController; 
     controller.delegate = self; 
    } else if ([segue.identifier isEqualToString:@"EditItem"]){ 
     UINavigationController *navigation = segue.destinationViewController; 
     AddItemViewController *controller = (AddItemViewController *)navigation; 
     controller.delegate = self; 

     // 
     NSIndexPath *indexpath = [self.tableView indexPathForCell:sender]; 
     controller.itemToEdit = _items[indexpath.row]; 

    } 

Обратите внимание, что для AddItem Segue вы получаете контроллер представления, как это:

AddItemViewController *controller =(AddItemViewController *) navigation.topViewController; 

Но для EditItem Segue вы получаете это так:

AddItemViewController *controller =(AddItemViewController *) navigation; 

В вашем раскадровке AddItem segue подключается к навигационному контроллеру, который затем подключается к вашему AddViewController , но EditItem segue отправляется непосредственно на номер AddViewController.

Подключение к EditItem к тому же навигационному контроллеру AddItem подключен.

+0

Я получил это! Большое вам спасибо. – MdRiduan