我想点击它时在tableView单元格中添加一个pickerView。
但是我想添加一个pickerView来选择性别或喜欢的食物等而不是datePicker。
但我在google上发现了一些示例和解决方案,这可能吗?
答案 0 :(得分:1)
创建一个变量以检查需要indexPaths
的{{1}}:
UIPickerView
然后在var indexesNeedPicker: [NSIndexPath]?
方法中附加indexPaths
。
如果已经添加它们,也要删除它们
didSelectRowAtIndexPath
然后修改您的func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
if indexesNeedPicker != nil {
if indexesNeedPicker!.contains(indexPath) == true {
indexesNeedPicker!.removeAtIndex((indexesNeedPicker!.indexOf(indexPath))!)
return
}
}
indexesNeedPicker?.append(indexPath)
self.table.deselectRowAtIndexPath(indexPath, animated: true)
self.table.reloadData()
}
方法
cellForRowAtIndexPath
将代理添加到ViewController
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: .Default, reuseIdentifier: "cell")
if indexesNeedPicker?.contains(indexPath) == true {
let pickerView = UIPickerView(frame: cell.frame)
pickerView.delegate = self
pickerView.dataSource = self
cell.addSubview(pickerView)
}
return cell
}
最后,添加并自定义方法:
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, UIPickerViewDelegate, UIPickerViewDataSource {