点击 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的主要内容,如果未能解决你的问题,请参考以下文章
Swift:如何以编程方式在 TableViewCell 中显示 CollectionView
通过点击 UIButton 动态管理 TableViewCell 高度