-1
私はそれをタップするとtableViewセルにpickerViewを追加したいと思います。tableViewCellのpickerViewを迅速に追加するには?
ではなく、日付ピッカーのように、私は、性別や好きな食べ物などを選択することpickerViewを追加したい。..
が、私はGoogleでいくつかの例と解決策を見つけた、さそれは可能ですか?
私はそれをタップするとtableViewセルにpickerViewを追加したいと思います。tableViewCellのpickerViewを迅速に追加するには?
ではなく、日付ピッカーのように、私は、性別や好きな食べ物などを選択することpickerViewを追加したい。..
が、私はGoogleでいくつかの例と解決策を見つけた、さそれは可能ですか?
UIPickerView
を持っている必要がありますindexPaths
をチェックするための変数を作成します。
var indexesNeedPicker: [NSIndexPath]?
その後didSelectRowAtIndexPath
方法でそれらindexPaths
を追加します。 彼らはすでにあなたのcellForRowAtIndexPath
方法
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
}
メソッドを追加してカスタマイズし、あなたのViewController
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, UIPickerViewDelegate, UIPickerViewDataSource {
そして最後にデリゲートを追加し編集し
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()
}
を追加されている場合にも、それらを削除:
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
<#code#>
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
<#code#>
}
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
<#code#>
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
<#code#>
}