UITableViewController自定义setEditing:动画:

时间:2013-07-18 08:26:53

标签: ios objective-c

我在 UITableViewController子类中覆盖setEditing:animated:方法,并在调用方法时告诉它重新加载数据

我正在使用一个自定义的UITableViewCell子类,它将UILabel的标题切换为UITextField,并禁用了初始用户交互。因此,当编辑开始时,重新加载所有数据将告诉单元格启用其用户交互,以便人们可以更改单元格标题。

  

除非我致电

,否则这一切都非常巧妙
- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
    [super setEditing:editing animated:animated];
    [[self tableView] reloadData];
}

编辑动画被取消,好像我作为“动画”参数传递了NO。

这有什么工作吗?

1 个答案:

答案 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];
        }