iOS 11之前的行动作

时间:2018-02-14 10:10:20

标签: ios objective-c uitableview

我试图将动作添加到tableview中的一行(使用滑动)。由于缺陷,我可以使用此方法删除:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
}

但我不知道如何制作自定义动作。我已经读到他们在iOS 11中引入了它。如果我还需要以前的版本,该怎么办?

以下是适用于iOS 11的方法:

- (UISwipeActionsConfiguration *)tableView:(UITableView *)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath

正如您所看到的,我正在使用iOS 11.因此,为了清楚起见,我希望用户滑动一行以显示动作(具有不同的颜色背景和文本)。我不关心它出现的位置(尾随或领先)。

1 个答案:

答案 0 :(得分:1)

  

因此,为了清楚起见,我希望用户滑动一行以显示操作   (具有不同的颜色背景和文字)。我不在乎哪里   它出现(尾随或领先)。

这样做

-(NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath{

  UITableViewRowAction *deleteAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"  Delete  " handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
                // your delete mechanism here
            }];
   deleteAction.backgroundColor = [UIColor redColor];
        return @[deleteAction];

    }