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

时间:2011-02-13 01:56:51

标签: iphone objective-c uitableview animation

正如在iPhone Mail应用程序中所做的那样,我希望在删除时,从右到左滑动可编辑的表格单元格时出现“删除”按钮,以显示动画(通过点击UITableViewCell上的删除按钮以外的其他位置。相反,我的删除按钮会在解除时立即消失。

要在第一个位置滑动表格单元格时调用“删除”按钮,我已添加(对于UITableViewDataSource的{​​{1}}和UITableViewDelegate这个类:

UITableView

我可能会添加一些内容,它会在删除按钮时处理删除按钮的动画吗?谢谢!

4 个答案:

答案 0 :(得分:25)

我遇到了同样的问题,刚才发现当我们有空的cell.textLabel.text时会出现问题。尝试添加

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

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

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

**> //MARK:-Tableview delete to left in swift without any tag By using Button Action**  
    let point = sender.convert(CGPoint.zero, to: tableView)
            guard let indexpath = tableView.indexPathForRow(at: point) else {return}
            stringArr.remove(at: indexpath.row)
            tableView.beginUpdates()
            tableView.deleteRows(at: [IndexPath(row: indexpath.row, section: 0)], with: .left)
            tableView.endUpdates()