我有一个应用程序,其中有一个带有自定义单元格和标题的 UITableview
。这些单元格有一个 inputView,因此当它们被选中时,它们将成为第一响应者并允许用户输入数据。
我希望能够在用户更改时动态更新可见的 TableViewCell
和 header 信息。很简单,只需调用 [tableview reloadData];
..
不幸的是,这会导致输入 View 退出第一响应者并隐藏自己。
有什么方法可以在 UITableview
中获取对单元格本身的引用,以便我可以只更改文本属性? (cellForRow:atIndexPath:
返回一个具有相同属性的新对象,因此不起作用)似乎唯一简单的解决方案可能是每次填充单元格时将单元格引用存储在字典中,并不是真正理想的解决方案。
cellForRowAtIndexPath 实际上就是
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
CustomCell *orderCell;
static NSString *productCellIdentifier = @"ImageDetailCellIdentifier";
orderCell = [self.tableView dequeueReusableCellWithIdentifier:productCellIdentifier forIndexPath:indexPath];
//set a bunch of properties orderCell.blah
return orderCell;
}
最佳答案
根据 UITableView
文档,-cellForRowAtIndexPath:
返回表示表格单元格的对象,如果单元格不可见或返回 nil
indexPath 超出范围。
我也是这么记得的。我不认为你的观察是正确的,它返回一个新对象。如果单元格可见,您将捕获它。
关于ios - 在不调用 reloadData 的情况下更新 tableView 中的特定单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23774806/