2

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

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

除了我打电话的时候,一切都很顺利

- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
    [super setEditing:editing animated:animated];
    [[self tableView] reloadData];
}

编辑动画被取消,就好像我通过 NO 作为“动画”参数一样。

有什么解决方法吗?

4

1 回答 1

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];
        }
于 2013-07-18T10:50:42.550 回答