2013-12-03 2 views
1

У меня есть строки представления, и я хочу сначала выбрать строку (или больше) по вкладке. Это не проблема, но мне нравится отменить выбор строки за вкладкой во второй раз. некоторые идеи? с нетерпением жду здесь от вас. С уважением Хатчdidselectrowatindexpath, выберите и отмените выбор строк в Tableview

ответ

0

Используйте этот пример кода для выбора галочкой: https://github.com/vikingosegundo/checkmark/tree/master/Checkmark

Установка вид аксессуаров должно произойти внутри Tableview: cellForRowAtIndexPath: метод. Если вы хотите изменить аксессуары снаружи, внешний метод должен сначала изменить модель, чтобы указать, что флажки должны быть помещены в определенные ячейки, а затем вызвать reloadData в UITableView.

Один из способов хранения ячеек - это массив объектов NSIndexSet - один индекс для каждого раздела. В приведенном ниже примере я показываю код для одного раздела, но вы должны получить представление о том, как работать с несколькими разделами.

// This variable needs to be declared in a place where your data source can get it 
NSMutableIndexSet *selected; 

// You need to initialize it in the designated initializer, like this: 
selected = [[NSMutableIndexSet alloc] init]; 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier]; 
    } 
    if ([selected containsIndex:indexPath.row]) { 
     [cell setAccessoryType:UITableViewCellAccessoryCheckmark]; 
    } else { 
     [cell setAccessoryType:UITableViewCellAccessoryNone]; 
    } 
    // Do the rest of your code 
    return cell; 
} 

Теперь в коде, где вы хотите установить строки, выбранные или невыбранные вам просто нужно позвонить [выбранный addIndex: rowToSelect] или [выбранный removeIndex: rowToUnselect] и вызовите reloadData вашей таблицы.

Смежные вопросы