我正在使用 RxSwift 将 UITableView 绑定(bind)到数据源。我想在表格 View 中选择表格单元格。选择不能通过点击进行,但通过滑动手势可以很好地进行选择。可能是什么问题?
这就是我正在做的事情:
- 更新 RxSwift、RxCocoa
- 干净的项目
- 删除派生数据
- 尝试 TableView 和 TableView 单元格设置的组合
这是我的代码
查看模型
import Foundation
import RxSwift
class ViewModel {
let selectItem: AnyObserver<String>
let didSelectItem: Observable<String>
let items: Observable<[String]>
init() {
let _selectItem = PublishSubject<String>()
self.selectItem = _selectItem.asObserver()
self.didSelectItem = _selectItem.asObservable()
items = TestAppData.getData()
}
}
ViewController
import UIKit
import RxSwift
import RxCocoa
class ViewController: BaseViewController {
@IBOutlet weak var dataTableView: UITableView!
var viewModel: ViewModel!
override func viewDidLoad() {
super .viewDidLoad()
setup()
}
private func setup(){
viewModel.items
.observeOn(MainScheduler.instance)
.bind(to: dataTableView.rx.items(cellIdentifier: "DataCell", cellType: UITableViewCell.self)) {
(_, dataValue, cell) in
cell.textLabel?.text = dataValue
cell.selectionStyle = .none
}
.disposed(by: disposeBag)
dataTableView.rx.modelSelected(String.self)
.bind(to: viewModel.selectItem)
.disposed(by: disposeBag)
}
}
最佳答案
尝试这个实现
dataTableView.rx.itemSelected
.subscribe(onNext: { [unowned self] indexPath in
//DO something with cell
}).disposed(by: disposeBag)
关于ios - UITableViewCell 通过滑动而不是通过点击选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50566737/