使用 rxswift 禁用 UITableViewCell 编辑模式
Posted
技术标签:
【中文标题】使用 rxswift 禁用 UITableViewCell 编辑模式【英文标题】:Disable UITableViewCell edit mode with rxswift 【发布时间】:2016-06-23 07:53:29 【问题描述】:我使用 rxswift
将我的数据源绑定到 tableview,但默认情况下,当我这样做时,单元格是可编辑的,我该如何禁用该功能?
这是我得到的tableview示例:
【问题讨论】:
嘿@Petros,你是如何使用 RxSwift 禁用编辑模式的? @AbhishektableView.rx_setDelegate(self)
和 func tableView(tableView: UITableView, editingStyleForRowAtIndexPath: NSIndexPath) -> UITableViewCellEditingStyle return UITableViewCellEditingStyle.None
【参考方案1】:
你在使用 RxDataSources 吗?您可以按如下方式配置您的数据源
dataSource.canEditRowAtIndexPath = dataSource, indexPath in false
【讨论】:
【参考方案2】:我不知道我是否理解你的问题。但是,如果您只是想禁用单元格上的编辑模式,请添加以下代码:
override func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool
return false
【讨论】:
【参考方案3】:这里是代码示例
viewModel
.fetchMockServicesDataSource()
.asObservable()
.bindTo(mockServiceTableView.rx_itemsWithCellIdentifier("mockCell", cellType: MockTableViewCell.self)) row, element, cell in
cell.updateCell(element)
.addDisposableTo(disposeBag)
但无论如何我找到了可行的解决方案 我需要添加这些部分
mockServiceTableView.rx_setDelegate(self)
func tableView(tableView: UITableView, editingStyleForRowAtIndexPath: NSIndexPath) -> UITableViewCellEditingStyle
return UITableViewCellEditingStyle.None
【讨论】:
以上是关于使用 rxswift 禁用 UITableViewCell 编辑模式的主要内容,如果未能解决你的问题,请参考以下文章
使用 RxSwift 在 UITableView 中进行 2 路绑定
无法使用 RxSwift 变量 asObservable() 设置绑定(到:UITableView)
也使用 UISearchController 时的 RxSwift UITableView 绑定
使用 rxswift 禁用 UITableViewCell 编辑模式