2013-09-12 5 views
1

У меня есть контроллер UITableView, который позволяет редактировать с помощью кнопки с allowsMultipleSelectionDuringEditing, установленным на ДА.Предотвращение поведения по умолчанию UITableView во время режима редактирования

В режиме редактирования, при выборе ячейки будет отображаться другой вид со специфическими данными ячейки. Какой был бы лучший способ отключить это во время режима редактирования, а также отобразить лист действий в нижней части экрана?

ответ

1

Попробовать следующий код

for (UIView* subview in [self subviews]) 
{ 
    if (![NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellEditControl"]) 
    { 
    // create/Initialize your detailView's object 

    } 
    else 
    { 
    //create your action sheet; 
    } 
} 

Этот код записи в didSelectRowAtIndexPath Метод

+0

является подвиды поглотитель имущества о себе? Я получаю сообщение об ошибке «Нет видимого интерфейса для ...». (извините, если вопрос noob) – Allen

+0

Я сконфигурировал его так: UIView * subview в self.tableView.subviews, который работает, но даже без режима редактирования isEqualToString возвращает true. – Allen

+0

Я зарегистрировал все подзапросы в цикле for, и режим просмотра режима редактирования, похоже, не срабатывает при нажатии на редактирование. – Allen

1

я узнал Tableview имеет удобный свойство "isEditing":

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

    if(self.tableView.isEditing) { 
     //instantiate action sheet 
    } else { 
     //instantiate view 
    } 
} 
Смежные вопросы