2012-06-11 3 views
0

Я разрабатываю приложение iPhone с помощью UITableView. Я внедрил галочку в каждой ячейке с делегатом didSelectRowAtIndexPath. Теперь я хочу выбрать ячейку, которая отключит все остальные ячейки (удалите отметки) и наоборот. (например: для выбора 8-й ячейки, которая показывает галочку на 8-й ячейке, и снимите флажок oher-ячеек, затем выберите другую ячейку, показывая галочку на этой ячейке и удалите галочку на ячейке 8Th).Выбор ячейки UITAbleView влияет на другую ячейку UITableView в том же UITableView

Как это реализовать в UITableView?

Если кто-нибудь знает, пожалуйста, помогите мне.

+0

Вы отслеживание источника содержимого ячейки в другом источнике, такие как массив? –

+0

Поблагодарите u для ur replay.yes, я использую NSMutablearray для источника данных – John

ответ

0

Вы можете достичь этого путем добавления этих двух Ивар к классу UITableViewController, чтобы отслеживать, какие клетки в настоящее время проверяются:

NSInteger currentlyCheckedRow; 
NSInteger currentlyCheckedSection; 

В вашем методе инициализации, установите currentlyCheckedRow и currentlyCheckedSection к отрицательному числу таких как -1, так что он не соответствует никакому возможному значению строки.

Добавьте следующую строку в ваш -tableView:cellForRowAtIndexPath: метод:

// determine if cell should have checkmark 
cell.accessoryType = UITableViewCellAccessoryNone; 
if ((indexPath.row == currentlyCheckedRow) && 
    (indexPath.section == currentlyCheckedSection)) 
{ 
    cell.accessoryType = UITableViewCellAccessoryCheckmark; 
}; 

Обновление currentlyCheckedRow Ивара, когда -tableView:didSelectRowAtIndexPath: называются:

currentlyCheckedRow = indexPath.row; 
currentlyCheckedSection = indexPath.section; 
[tableView reloadData]; 
+0

Благодарим вас за ваш повтор. У меня есть один вопрос. Предположим, что в представлении таблицы есть 6 ячеек, я хочу щелкнуть 6-ю ячейку, а затем проверить все остальные ячейки и нажмите другие ячейки (от 1 до 5 ячеек), галочка 6-й ячейки удалит. Это означает, что в то время как в представлении таблицы возможно выбор 6-й ячейки или выбор от 1 до 5 ячеек. Как реализовать это? – John