国产探花免费观看_亚洲丰满少妇自慰呻吟_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 }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 托克托县| 漯河市| 洛隆县| 湘西| 义马市| 宜君县| 钦州市| 胶南市| 渝中区| 三原县| 阿鲁科尔沁旗| 金平| 镇雄县| 登封市| 汾西县| 安远县| 兴宁市| 土默特左旗| 扶风县| 仁寿县| 神木县| 衡水市| 桓台县| 获嘉县| 达拉特旗| 札达县| 禹州市| 小金县| 汶上县| 黔西| 新安县| 本溪| 三台县| 平谷区| 军事| 曲水县| 龙州县| 正镶白旗| 望江县| 上饶县| 广西|