在cellForRowAtIndexPath
我执行以下操作:
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];
UITextField *texfield = (UITextField *)[cell viewWithTag:1];
if (indexPath.section < [self.SmsDataArray count]) {
SmsModel * smsObj = self.SmsDataArray[indexPath.section];
texfield.text = smsObj.phoneNumber;
}
texfield.tag = 10000;
return cell;
如果我更改标签,则无法填充文本字段。
如果我评论texfield.tag = 10000;
文本字段按预期填充,我需要在此处修复什么?
基本上我需要将标签分配给文本字段,因为单元格是动态的。
答案 0 :(得分:0)
问题 - 您正在覆盖textfield标记。第一个调用标记更改为10000。
但是这个方法再次被调用同一个单元格,它搜索具有标记1的文本字段。但是没有这样的文本字段。
解决方案 - 使用此行的任何替代
(UITextField *)[cell viewWithTag:1];
这个
答案 1 :(得分:0)
如果您没有使用标准单元格,那么您应该将UITableViewCell
子类化,并创建一个属性以指向您的文本字段,这样您就不需要使用–viewWithTag:
来获取指向它的指针。然后,在–tableView:cellForRowAtIndexPath:
中,您可以根据tag
分配indexPath.row
。