我试图将动作添加到tableview中的一行(使用滑动)。由于缺陷,我可以使用此方法删除:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
}
但我不知道如何制作自定义动作。我已经读到他们在iOS 11中引入了它。如果我还需要以前的版本,该怎么办?
以下是适用于iOS 11的方法:
- (UISwipeActionsConfiguration *)tableView:(UITableView *)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath
正如您所看到的,我正在使用iOS 11.因此,为了清楚起见,我希望用户滑动一行以显示动作(具有不同的颜色背景和文本)。我不关心它出现的位置(尾随或领先)。
答案 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];
}