我在 UITableViewController子类中覆盖setEditing:animated:
方法,并在调用方法时告诉它重新加载数据。
我正在使用一个自定义的UITableViewCell子类,它将UILabel的标题切换为UITextField,并禁用了初始用户交互。因此,当编辑开始时,重新加载所有数据将告诉单元格启用其用户交互,以便人们可以更改单元格标题。
除非我致电
,否则这一切都非常巧妙
- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
[super setEditing:editing animated:animated];
[[self tableView] reloadData];
}
编辑动画被取消,好像我作为“动画”参数传递了NO。
这有什么工作吗?
答案 0 :(得分:0)
您没有动画,因为您正在调用reloadData方法。 试试这段代码:
- (void)setEditing:(BOOL)editing animated:(BOOL)animated{
NSRange range = NSMakeRange(0, [self numberOfSectionsInTableView:self.tableView]);
NSIndexSet *sections = [NSIndexSet indexSetWithIndexesInRange:range];
[self.tableView reloadSections:sections withRowAnimation:UITableViewRowAnimationMiddle];
[super setEditing:editing animated:animated];
}