【发布时间】:2013-05-10 08:35:45
【问题描述】:
我正在尝试将 UITextField 动态添加到 TableView 这是我的代码
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
UITextField *textField = [[UITextField alloc]initWithFrame:CGRectMake(110, 10, 185, 30)];
textField.tag=temp+indexPath.row+1;
[cell.contentView addSubview:textField];
问题是每次显示一个单元格时,它都会在同一位置创建一个 newTextField,因此它们重叠,我无法在另一个 TextField 中进行编辑,并且它们具有相同的标签.. 我只想为每个单元格创建一次 TextField,即使它会再次显示
【问题讨论】:
-
检查是否 (cell==nil) 然后使用 textfiled 创建单元格,否则将重用单元格以避免多次创建 textfiled。
-
@sugan.s 如果一个单元格被注册为重用,它不会是 nil。
-
是的,第一次加载 tableview 时,时间单元格将为零。@Anupdas
-
@sugan.s 你能支持你的说法吗?阅读 – dequeueReusableCellWithIdentifier:forIndexPath: 的文档。此方法总是返回一个有效的单元格。
标签: ios uitableview uitextfield