欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

iOS实现UITableView左滑删除复制即用功能

程序员文章站 2023-12-20 19:28:46
开发项目时候需要用到tableview左滑删除,就研究了一下,话不多说直接上代码 //设cell可编辑 - (bool)tableview:(uitablevi...

开发项目时候需要用到tableview左滑删除,就研究了一下,话不多说直接上代码

//设cell可编辑
- (bool)tableview:(uitableview *)tableview caneditrowatindexpath:(nsindexpath *)indexpath
{
  return yes;
}
//设置删除按钮
-(uitableviewcelleditingstyle)tableview:(uitableview *)tableview editingstyleforrowatindexpath:(nsindexpath *)indexpath
{
  return uitableviewcelleditingstyledelete;
}
//进入编辑(删除)模式
-(void)tableview:(uitableview *)tableview commiteditingstyle:(uitableviewcelleditingstyle)editingstyle forrowatindexpath:(nsindexpath *)indexpath
{  
  //出现alterview隐藏删除按钮
  [tableview setediting:no animated:yes];
  if (editingstyle == uitableviewcelleditingstyledelete) {
    uialertcontroller *alertcontroller = [uialertcontroller alertcontrollerwithtitle:@"提示" message:@"你确定删除该消息?" preferredstyle:uialertcontrollerstylealert];
    [alertcontroller addaction:[uialertaction actionwithtitle:@"取消" style:uialertactionstylecancel handler:nil]];
    [alertcontroller addaction:[uialertaction actionwithtitle:@"确定" style:uialertactionstyledestructive handler:^(uialertaction * _nonnull action) {
      //需要先删除数据源中对应数据,不然执行下一步会崩溃
      [reconnaissancelistarr removeobjectatindex:indexpath.row];
      [tableview deleterowsatindexpaths:@[indexpath] withrowanimation:uitableviewrowanimationautomatic];
    }]];
    [self presentviewcontroller:alertcontroller animated:yes completion:nil];
  }
}
//修改编辑按钮文字
-(nsstring *)tableview:(uitableview *)tableview titlefordeleteconfirmationbuttonforrowatindexpath:(nsindexpath *)indexpath
{
  return @"删除";
}
//设置进入编辑状态时,cell不会缩进
- (bool)tableview: (uitableview *)tableview shouldindentwhileeditingrowatindexpath:(nsindexpath *)indexpath
{
  return no;
}

总结

以上所述是小编给大家介绍的ios实现uitableview左滑删除复制即用功能,希望对大家有所帮助

上一篇:

下一篇: