点击 TableViewCell 以显示 UIPickerView

Posted

技术标签:

【中文标题】点击 TableViewCell 以显示 UIPickerView【英文标题】:Tapping on TableViewCell to show UIPickerView 【发布时间】:2020-06-19 14:09:36 【问题描述】:

我有一个自定义的 TableViewCell 和 UIPickerView 作为单元格文本视图的 inputView:

class PickerTableViewCell: UITableViewCell 

    let picker = UIPickerView()

    let pickerOptions: [String] = []

    lazy var pickerTextField: UITextFieldWithNoCursor = 
       let pickerTextField = UITextFieldWithNoCursor()
       pickerTextField.inputView = picker
       ...
       return pickerTextField
    ()


    override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) 
        super.init(style: style, reuseIdentifier: reuseIdentifier)

        containerStackView.addArrangedSubview(pickerTextField)
    

问题在于选择器。它只能通过点击 textview 来工作,但如果我点击单元格的其他部分,它将什么也不做。有没有办法通过点击整个单元格而不只是它的 textview 来显示 pickerView?

【问题讨论】:

【参考方案1】:

你可以在你的单元格中添加点击手势来做到这一点

override func awakeFromNib() 
           super.awakeFromNib()

           let tapGesture = UITapGestureRecognizer(target: self, action: #selector(tapEdit))
           addGestureRecognizer(tapGesture)


       

       @objc func tapEdit() 

        pickerTextField.becomeFirstResponder()

       

【讨论】:

以上是关于点击 TableViewCell 以显示 UIPickerView的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发之点击tableViewCell,显示详情

在 Tableviewcell 中显示多个图像

Swift:如何以编程方式在 TableViewCell 中显示 CollectionView

通过点击 UIButton 动态管理 TableViewCell 高度

实际操作-手把手探究tableViewCell上的控件点击事件

单击 TableViewCell 以打开当前用户的配置文件视图