博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swift 学习之 tableView 左滑 “删除”、“置顶”以及“群设置”等按钮
阅读量:4984 次
发布时间:2019-06-12

本文共 2743 字,大约阅读时间需要 9 分钟。

---恢复内容开始---

效果图:

 

设置这个其实很简单...只要实现 tableView 的一个代理,即:

@available(iOS 8.0, *)    optional public func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? // supercedes -tableView:titleForDeleteConfirmationButtonForRowAtIndexPath: if return value is non-nil

看到出来,这个方法是 iOS 8.0之后才提供的

 

具体的使用:

@objc(tableView:editActionsForRowAtIndexPath:) func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {                let model: MessageMainModel = self.showList?.object(at: indexPath.row) as! MessageMainModel                let list = model.editList as NSArray                var mActionArray = [UITableViewRowAction]()        for index in 0...list.count - 1 {            let dic = list.object(at: index) as! NSDictionary                        let tag = dic.object(forKey: "tag") as! Int                        if tag == 1 {                //删除                let deleteAction = UITableViewRowAction(style: UITableViewRowActionStyle.destructive, title: "删除") { (deleteAction: UITableViewRowAction, indexPath: IndexPath) in                                        self.showList?.removeObject(at: indexPath.row)                    self.tableView.reloadData()                    print("\(indexPath.row) == 删除")                }                deleteAction.backgroundColor = .red                mActionArray.append(deleteAction)                            }else if tag == 2 {                let setupAction = UITableViewRowAction(style: UITableViewRowActionStyle.destructive, title: "置顶") { (deleteAction: UITableViewRowAction, indexPath: IndexPath) in                                        let model: MessageMainModel = self.showList?.object(at: indexPath.row) as! MessageMainModel                                        self.showList?.removeObject(at: indexPath.row)                    self.showList?.insert(model, at: 0)                    self.tableView.reloadData()                    print("\(indexPath.row) == 置顶")                }                setupAction.backgroundColor = appDefaultColor                mActionArray.append(setupAction)                            }else if tag == 3 {                let groupSetting = UITableViewRowAction(style: UITableViewRowActionStyle.destructive, title: "群设置") { (deleteAction: UITableViewRowAction, indexPath: IndexPath) in                                        print("\(indexPath.row) == 群设置")                }                groupSetting.backgroundColor = UIColor.lightGray                                mActionArray.append(groupSetting)                            }        }                        return mActionArray}
View Code

 

---恢复内容结束---

转载于:https://www.cnblogs.com/yxtBlogs/p/6138538.html

你可能感兴趣的文章
一个监听事件监听多个按钮
查看>>
调用其他类的方法
查看>>
SQlite数据库
查看>>
前端开发要注意的浏览器兼容性问题整理
查看>>
Python服务器开发 -- 网络基础
查看>>
开源项目Html Agility Pack实现快速解析Html
查看>>
一些常用的js,jquerry 样例
查看>>
Oracle PL/SQL 多重选择句
查看>>
dorado中的creationType选择类型
查看>>
C++11 数值类型和字符串的相互转换
查看>>
无锡盈达聚力科技有限公司
查看>>
tyvj1659中中救援队
查看>>
kubernetes学习:CKA考试题
查看>>
LINUX samba的安装使用
查看>>
CSS border 生成三角
查看>>
asp.net(c#)开发中的文件上传组件uploadify的使用方法(带进度条)
查看>>
7.STM32中GPIO理解
查看>>
base64 json
查看>>
在vim中搜索单词
查看>>
设置定点数学属性
查看>>