微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

swift tableview中添加侧滑删除功能 类似qq删除

UITableViewDelegate中继承三个方法@H_502_5@

@H_502_5@

func tableView(tableView:UITableView,canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool@H_502_5@

func tableView(tableView:UITableView,editingStyleForRowAtIndexPath indexPath:NSIndexPath) -> UITableViewCellEditingStyle@H_502_5@

func tableView(tableView:UITableView,commitEditingStyle editingStyle: UITableViewCellEditingStyle,forRowAtIndexPath indexPath: NSIndexPath)@H_502_5@ 然后分别在三分方法添加业务逻辑。

@H_502_5@

<pre name="code" class="objc"><pre name="code" class="plain">//mark 设置可以进行编辑
    func tableView(tableView: UITableView,canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool{
        println("mark 设置可以进行编辑")
        return true
    }
    // mark 设置编辑的样式
    func tableView(tableView: UITableView,editingStyleForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCellEditingStyle{
        println("mark 设置编辑的样式")
        return UITableViewCellEditingStyle.Delete
    }
    //删除cell
    func tableView(tableView: UITableView,commitEditingStyle editingStyle: UITableViewCellEditingStyle,forRowAtIndexPath indexPath: NSIndexPath){
        println("删除cell")
        if editingStyle == UITableViewCellEditingStyle.Delete{
            //1,从本地数据库将数据移除
            //调用dbhelper中的delete方法删除cocodata中的数据
            dbhelper.deleteConversationBySay(conlist[indexPath.row].say)
            conlist.removeAtIndex(indexPath.row)
           
            //2.reload
            //直接使用reload方法界面的变化非常迅速,用户体验非常不好
            //tv.reloadData()
            //这个具有动画效果
            self.tv.deleteRowsAtIndexPaths([indexPath],withRowAnimation: UITableViewRowAnimation.Automatic)
        }
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐