Добавление элементов управления программно в UITableViewCell в статическом UITableView - PullRequest
0 голосов
/ 14 марта 2012

У меня есть статический UITableView, к которому я заполняю NSDictionary в методе cellForRowAtIndexPath.

 NSString *key = [sectionKeys objectAtIndex:[indexPath section]];
 NSArray *contents = [sectionContents objectForKey:key];
 NSString *contentForThisRow = [contents objectAtIndex:[indexPath row]];

 static NSString *CellIdentifier = @"Cell";

 UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
 if (cell == nil)
 {
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
 }

 [[cell textLabel] setText:contentForThisRow];

Думает, работает хорошо, мне также нужно добавить элементы управления к элементам tableview, и каждая ячейка имеет различные элементы управления,Когда я программно добавляю UITextField в ячейку 1, представление после запуска нормально до 5 секций, но когда я прокручиваю свое табличное представление дальше вниз, ячейка секции 6 также получает элемент управления UITextField.То же самое происходит с UIDatePicker, что первые 5 разделов моего табличного представления хороши, но при прокрутке табличного представления последние два раздела также получают элемент управления UIDatePicker.

Примечание: у меня есть девять разделов в табличном представлении, каждый из которых имеет одну ячейку сисключение первых двух разделов, которые содержат две ячейки.

1 Ответ

4 голосов
/ 14 марта 2012

Что я понял:

Расположение ваших ячеек запутано, и элементы управления из одной ячейки переходят в другую.

Что я предлагаю:

Этоэто общая проблема, я столкнулся с этим некоторое время назад, и это было очень сложно.После нескольких часов поиска в Google я нашел решение: использовать разные идентификаторы ячеек для ячеек с разными элементами управления.

Пример:

5 ячеек: 2 ячейки только с UITextField, 1 ячейка с UITextField иUILabel и 2 ячейки с UIImageView.Используйте 3 разных идентификатора ячейки.1 для ячеек только с UITextField, 1 для ячеек с UIImageView и 1 для ячеек с UITextField и UILabel.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...