SwiftでUITableViewCell内でUIPickerViewを使う方法を教えてください。
UITableViewCell内でUIPickerViewを使っていますが、UITableView内のどのCELL(UITableViewCell)が選択されているかを取得するため、以下のようなコードを記載していますが、該当CellのPickerを選択しても以下のところで取得されません。
(ブレークしても止まりません。)
Pickerで選択した値を、UITableViewCell内に表示したいのですが、できないので教えてください。
抜粋ですが、以下のようなコードを書いてトライしています。どのように直せば良いかご教授ください。
Swift
1class setMacroViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource, UITableViewDelegate, UITableViewDataSource { 2 private var tableCellIndexPath:IndexPath! 3 4 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 5 tableCellIndexPath = indexPath 6 } 7 8 //列を選択した時 9 func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { 10 curSelectedData = nextWaitlist[row] 11 } 12 13 //PickerViewで選択後に「完了」を押した時の処理 14 func done() { 15 let cell = macroTableView.cellForRow(at:tableCellIndexPath) as! macroTableViewCell 16 cell.macroNextWait.text = curSelectedData 17 self.view.endEditing(true) 18 } 19} 20 21class macroTableViewCell: UITableViewCell, UITextFieldDelegate { 22 @IBOutlet weak var macroNextWait: UITextField! 23 weak var delegate: TextFieldEditCellDelegate! = nil 24 25 override func awakeFromNib() { 26 super.awakeFromNib() 27 // Initialization code 28 macroNextWait.delegate = self 29 } 30 31 override func setSelected(_ selected: Bool, animated: Bool) { 32 super.setSelected(selected, animated: animated) 33 } 34 35 /// STEP名を設定するメソッド 36 func setCell(pickerView: UIPickerView, toolbar: UIToolbar) { 37 macroNextWait.inputView = pickerView 38 macroNextWait.inputAccessoryView = toolbar 39 } 40}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。