実現したいこと
PickerCell.xibにUIPickerとUIToolBar, BarButtonItemを載せています。
BarButtonItemを押すとUIPickerの値を取得したい。
UIPickerの値の取得ができたらSectionに取得した情報を反映させる予定です。
AddViewController.swift
1 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 2 print("DEBUG_PRINT: Section(indexPath.section)が押されました") 3 if indexPath.section == 0 { 4 let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) 5 cell.detailTextLabel?.text = "aaa" 6 cell.contentView.backgroundColor = .white 7 return cell 8 } else { 9 let cell = tableView.dequeueReusableCell(withIdentifier: "PickerCell", for: indexPath) as! PickerCell 10 if openedSections.contains(1) { 11 12 // セクションが開いているときに処理を実装する 13 // ボタンを押した時にpikerViewの値を取得して、セクションに反映させる 14 15 } 16 17 18 return cell 19 } 20 }
PickerView.swift
1import UIKit 2 3class PickerCell: UITableViewCell,UIPickerViewDelegate,UIPickerViewDataSource { 4 5 6 7 8 9 @IBOutlet weak var pickerView: UIPickerView! 10 @IBOutlet weak var toolBar: UIToolbar! 11 @IBOutlet weak var doneButton: UIBarButtonItem! 12 13 override func awakeFromNib() { 14 super.awakeFromNib() 15 print("DEBUG_PRINT: PickerCellが押されました") 16 pickerView.delegate = self 17 pickerView.dataSource = self 18 19 // Initialization code 20 } 21 22 override func setSelected(_ selected: Bool, animated: Bool) { 23 super.setSelected(selected, animated: animated) 24 25 // Configure the view for the selected state 26 } 27 28 func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { 29 print("DEBUG_PRINT: numberOfRowsIn") 30 print(component) 31 switch component { 32 case 0: 33 return 60 34 case 1: 35 return 1 36 case 2: 37 return 60 38 case 3: 39 return 1 40 default: 41 return 1 42 } 43 } 44 45 func numberOfComponents(in pickerView: UIPickerView) -> Int { 46 return 4 47 } 48 49 func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { 50 51 switch component { 52 case 0: 53 return "(row)" 54 case 1: 55 return "min" 56 case 2: 57 return "(row)" 58 case 3: 59 return "sec" 60 default: 61 return "" 62 } 63 } 64 65 66} 67
AddViewController.swiftのコメントアウト部分に処理を実装するのだと思うのですが、
なかなか実装できず困っております。
ご教授いただけますと幸いです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/26 08:51 編集
退会済みユーザー
2020/06/26 09:01 編集
2020/06/26 09:18
退会済みユーザー
2020/06/26 09:25