swift tableview的左滑删除,左滑显示自定义图片。

来源:互联网 发布:网络银行业务指什么 编辑:程序博客网 时间:2024/04/29 23:47


1、是否允许tableview的cell能不能编辑

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

{
        return true
 }

2、设置原始的删除按钮的title

override func tableView(tableView: UITableView, titleForDeleteConfirmationButtonForRowAtIndexPath indexPath: NSIndexPath) -> String?

{
        return "删除"
}

3、点击删除按钮触发的函数。 需要判断是否是删除的类型。

override func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath)
{
        
        if editingStyle == UITableViewCellEditingStyle.Delete {
            let dic =  itemArry.objectAtIndex(indexPath.row) as! NSDictionary
            //进行删除后的网络请求接口
            deleteCell(dic.objectForKey("Q_ID") as! String)

           //删除数组中的数据

            itemArry.removeObjectAtIndex(indexPath.row)
           //刷新tableview           

            tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Automatic)
        }
}
4、显示图片在下面的函数中进行。

   override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let btn = UIButton()

       //左滑显示设置好图片的按钮。

        btn.frame = CGRectMake(CGRectGetWidth(UIScreen.mainScreen().bounds), 0, 55, 110)
        btn.setImage(UIImage(named: "deleteImage"), forState: UIControlState.Normal)
        btn.backgroundColor = UIColor.whiteColor()
        //在cell中添加一个view

        let cusview = UIView()
        cusview.frame = CGRectMake(CGRectGetWidth(UIScreen.mainScreen().bounds), 0, 300, 110)
        cusview.backgroundColor = UIColor.whiteColor()
        cell.contentView.addSubview(cusview)
        cell.contentView.addSubview(btn)

  }

0 0