ドラムロールの選択肢で動物の名前をタップすると、その動物の名前が表示され選択肢が閉じるコードを作りたいのですが、下にあるコードでは選択した動物の名前は表示できますが選択肢が消えません。
右上に完了ボタンを作成し、そのボタンをタップするとドラムロールが消えるようにしたいです。
今回はストーリーボードは使わず、コードのみで作成してます。
どなたかお時間がある時に教えていただきたいです。
よろしくお願いします。
swift
1 2import UIKit 3 4 class ViewController: UIViewController , UIPickerViewDelegate, UIPickerViewDataSource { 5 6 var pickerView = UIPickerView() 7 8 var label = UILabel() 9 10 let dataList = [ 11 "いぬ","ねこ","くま","うさぎ", 12 "ライオン" ] 13 14 override func viewDidLoad() { 15 super.viewDidLoad() 16 pickerView.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: 300) 17 18 pickerView.center = self.view.center 19 20 pickerView.delegate = self 21 pickerView.dataSource = self 22 23 let yPosition = pickerView.frame.origin.y 24 label.frame = CGRect(x: 0, y: yPosition - 100, width: self.view.frame.width, height: 100) 25 26 label.numberOfLines = 2 27 label.text = "動物の種類" 28 label.textAlignment = NSTextAlignment.center 29 30 self.view.addSubview(pickerView) 31 self.view.addSubview(label) 32 } 33 34 func numberOfComponents(in pickerView: UIPickerView) -> Int { 35 return 1 36 } 37 38 func pickerView(_ pickerView: UIPickerView, 39 numberOfRowsInComponent component: Int) -> Int { 40 return dataList.count 41 } 42 43 func pickerView(_ pickerView: UIPickerView, 44 titleForRow row: Int, 45 forComponent component: Int) -> String? { 46 47 return dataList[row] 48 } 49 50 func pickerView(_ pickerView: UIPickerView, 51 didSelectRow row: Int, 52 inComponent component: Int) { 53 54 label.text = dataList[row] 55 } 56 57} 58
> ドラムロールの選択肢で動物の名前をタップすると、その動物の名前が表示され選択肢が閉じるコードを作りたいのですが、
念のため確認ですが、「タップ」というのは次のどちらになるのでしょうか。
1. ドラッグでPickerView を操作し終えたあとに消したい
2. 移動し終えた後、その項目をタップしたら消したい
のどちらになるのでしょうか。
すみません、詳しく書き忘れました。
ご質問ありがとうございます。
選択肢をタップして、例えばうさぎと表示されたら、ドラムロールの左上の完了ボタンをタップするとドラムロールが閉じるようにしたいです。
よろしくお願いします。
何度もすみません、左上ではなく右上です。
回答1件
あなたの回答
tips
プレビュー