首页 文章

如何设置解除UITableView滑动到删除按钮的动画?

提问于
浏览
13

正如在iPhone Mail应用程序中所做的那样,我希望"Delete"按钮在从右到左滑动可编辑的表格单元格时显示,当它被解除时(通过点击 UITableViewCell 上的删除按钮以外的其他方式) . 相反,我的删除按钮会在解除时立即消失 .

要在第一个位置滑动表格单元格时调用“删除”按钮,我已添加(对于 UITableViewDataSourceUITableViewDataSource 和"Delete"的类):

// Override to support conditional editing of the table view.
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
    return YES;
}

// Override to support editing the table view.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        //add code here for when you hit delete
    }       
}

我可以添加一些东西来处理删除按钮的动画吗?谢谢!

3 回答

  • 0

    我刚刚遇到了这个问题 . 我有一系列的tableViews,我注意到其中一些有适当的解雇淡化而其他人没有 .

    似乎区别在于UITableViewCellAccessory . 如果将其设置为UITableViewCellAccessoryNone以外的任何其他内容,则可以获得正确的动画 . 我想这可能是一个错误 . 其他人可以确认这种行为吗?

  • 1

    我有同样的问题,刚才发现当我们有空的cell.textLabel.text时有一些问题 . 尝试添加

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath:
    {
        {...} // omitted code
        cell.textLabel.text = @"whatever";          
        cell.textLabel.hidden = YES;
    }
    

    使用此滑动按钮可以正常解除,但是为什么? PS:使用自定义单元测试并构建i.n.

  • 25

    您不需要手动设置解雇动画,它的工作方式与调用它的方式相同,因此不确定为什么它在您的应用中表现不同 .

    您是否有机会使用自定义单元格?作为您尝试尝试的想法,更改 shouldIndentWhileEditingRowAtIndexPath: 方法以返回NO并查看它是否发生任何变化 . 我唯一能想到的是你的内容缩进以一种动画无法执行或不按预期运行的方式干扰删除按钮区域 .

    - (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath { return NO; }

相关问题