UITableView通知UITableViewCell有关重新加载的信息
以下是对情况的简短总结: 我有一个带有许多单元格的TableViewController。 在其中一个单元格中,我有一个UITextField。此单元格属于自定义UITableViewCell类。此类实现UITextFieldDelegate协议和方法UITableView通知UITableViewCell有关重新加载的信息,uitableview,reloaddata,Uitableview,Reloaddata,以下是对情况的简短总结: 我有一个带有许多单元格的TableViewController。 在其中一个单元格中,我有一个UITextField。此单元格属于自定义UITableViewCell类。此类实现UITextFieldDelegate协议和方法TextFieldDiEndediting: 在方法textfielddendediting:中,我将TextField的值存储到CoreData中 这一切都很好 我的问题与重新加载TableView有关: 在用户执行某些操作后,我通过调用[sel
TextFieldDiEndediting:
在方法textfielddendediting:
中,我将TextField的值存储到CoreData中
这一切都很好
我的问题与重新加载TableView有关:
在用户执行某些操作后,我通过调用[self.tableView reloadData]
当我调用此方法时,如果上面提到的TextField是第一响应者,则将调用TextFielddEndediting:
方法,从而执行与CoreData相关的代码
重新加载TableView时,我根本不希望自定义选项卡ElviewCell执行任何操作。
有没有办法让TableViewCell知道正在重新加载TableView?所以我可以在textfielddendediting:
方法中检查这一点
同时,我通过以下方式解决了这个问题:
创建此TableViewCell时,我让ViewController存储对它的引用。
在调用[self.tableView reloadData]
之前,我首先通过设置自定义属性\u Cell.tableWillReload=YES
我将在textfielddendediting:
方法中检查此属性
我在想,也许有一种不同的、更默认的方式,让TableViewCells知道它们周围的TableView正在重新加载?试试这个:-
[yourTextFieldOfCell resignFirstResponder];
调用
[self.tableView reloadData]之前代码>谢谢您的评论。调用resignFirstResponder
会导致调用textfielddidediting
。结果仍然是一样的。我不希望执行textfielddidediting
中的代码。