ios - UITableViewCell 通过滑动而不是通过点击选择

标签 ios swift uitableview rx-swift

我正在使用 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)
  }
}

TableView 和 TableViewCell 设置: enter image description here RxSwift 4.1.2、RxCocoa 4.1.2

最佳答案

尝试这个实现

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/

相关文章:

Swift - UICollectionView 间距问题

ios - 从 Swift 中的另一个 View Controller 访问 TableView 单元格信息

ios - 使用swift在UITableView中有UITextFields时如何管理键盘?

ios - UITableViewCells 未扩展以适合文本

ios - 是否可以从地址簿中选择多个用户

objective-c - 任何理解 iOS 框架的路线图?

ios - 使用 Swift 的 Firebase 用户收件箱

ios - 无论如何,是否可以使用 React Native 向 TabBarIOS 呈现 native Controller ?

ios - 什么是 objc_selector 实现?

ios - 核心数据 - 添加对象的多种方法