国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

UITableViewCell 原生左滑菜單使用

2019-11-09 16:34:34
字體:
來源:轉載
供稿:網友

UITableViewCell 原生左滑菜單使用

寫在前面的

在iOS8以前,tableViewCell的左滑菜單是不能添加多個的,也不能定制顏色和標題,實現左滑的自定義菜單只能用第三方開源庫或者自己寫,iOS8多了一個方法來自定義菜單,現在就非常簡便了。 就是這個

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

左滑菜單的需求列表

tableView中左滑出可自定義數量,顏色,標題,事件的菜單。菜單滑出狀態下,滾動,或者點擊其他區域,tableView需要收回菜單。收回菜單的動畫效果。響應事件以后,需要收回菜單,需要支持動畫。

代碼說明每個需求的實現原理

tableView中左滑出菜單,其實就是開啟editing模式

//允許出現左滑菜單, 實現UITableViewDataSource func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool { return true } func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) { PRint(editingStyle.rawValue) }

自定義數量,顏色,標題,事件

func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? { let cellItem = viewModel.cellItems[indexPath.row] let selectChannelId = cellItem.channelId var mActionArray = [UITableViewRowAction]() let requestHandler = KRChannelRequestHandler.sharedInstance //置頂按鈕 let isPin = cellItem.pinTime > 0 ? true : false let pinTitle = isPin ? "取消置頂" : "置頂" let pinAction = UITableViewRowAction(style: .normal, title: pinTitle) { (pinAction, indexPath) in //關閉編輯模式,允許動畫 tableView.setEditing(false, animated: true) //置頂處理 } //免打擾按鈕 let isDnd = cellItem.dnd == "yes" ? true : false let dndTitle = isDnd ? "取消免打擾" : "免打擾" let dndAction = UITableViewRowAction(style: .normal, title: dndTitle) { (dndAction, indexPath) in //關閉編輯模式 tableView.setEditing(false, animated: true) //免打擾處理 } //自定義按鈕顏色 dndAction.backgroundColor = UIColor(hexString: "#FF9C00") //刪除按鈕 let deleteAction = UITableViewRowAction(style: .destructive, title: "移除") { (deleteAction, indexPath) in //刪除處理 } mActionArray = [deleteAction,dndAction,pinAction] return mActionArray }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 威宁| 清河县| 德令哈市| 宜君县| 垫江县| 汉中市| 达拉特旗| 富裕县| 云和县| 应城市| 吐鲁番市| 当涂县| 梁山县| 从江县| 香格里拉县| 尉犁县| 大同县| 柳林县| 三原县| 江陵县| 自治县| 威海市| 雅安市| 邯郸市| 郸城县| 兰州市| 顺义区| 崇仁县| 道孚县| 高州市| 陵水| 保德县| 鄂尔多斯市| 永修县| 莲花县| 丁青县| 绿春县| 时尚| 扬中市| 汕尾市| 合川市|