2015-01-02 4 views
0

У меня есть статический стол в контейнере внутри представления. Есть 5 ячеек, каждая из которых представляет собой другую услугу. Подробное представление службы является общим для всех 5, поэтому будет использоваться для каждого.iOS Static TableView Выбор идентификации

Я зациклился на том, как отличить выделение определенной ячейки, поскольку до сих пор я только создавал представления таблиц через код (используя массив, UITableViewDataSourceDelegate и т. Д.).

Каждая ячейка визуально идентифицируется с использованием метки.

Есть ли способ присвоить каждой ячейке что-то вроде идентификатора раскадровки? или даже способ переубеждения определения значения метки ячейки для сравнения?

ответ

0

Это очень просто, если у вас есть статические 5 ячеек только в виде таблицы.

Просто нужно идентифицировать ячейку, используя NSIndexPath.

UITableViewCell *cell1 = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]]; 
UITableViewCell *cell2 = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:1 inSection:0]]; 
UITableViewCell *cell3 = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:2 inSection:0]]; 
UITableViewCell *cell4 = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:3 inSection:0]]; 
UITableViewCell *cell5 = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:4 inSection:0]]; 

Назначьте тег в cellForAtIndexPath метод

label.tag = indexPath.row; 

И использование выше объекта клетки получают уважаемую этикетку.

UILabel *label1 = (UITextField *)[cell1 viewWithTag:0]; 
UILabel *label2 = (UITextField *)[cell2 viewWithTag:1]; 
UILabel *label3 = (UITextField *)[cell3 viewWithTag:2]; 
UILabel *label4 = (UITextField *)[cell4 viewWithTag:3]; 
UILabel *label5 = (UITextField *)[cell5 viewWithTag:4]; 
+0

У меня было пару дополнительных вопросов с установкой правильного делегата (думал, что я мог бы уйти с помощью одного контроллера просмотра в качестве делегата для обоих ViewController и содержащемуся табличном), однако мое общее решение вопроса было слишком переключатель на indexPath.row, аналогично вашему ответу, 0 => cell1, 1 => cell2 и т. д. –

+0

Теперь можно назвать правильных делегатов? – Kampai

+0

Да, все работает как ожидается –

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