UITextFieldを複数個storyboard上に配置させ、それぞれでピッカーを表示させようと考えています。
そこで、ピッカーを表示させる際に、このテキストフィールドをタップした時にはこのピッカーを表示させ、他のテキストフィールドをタップした時には他のピッカーを表示させる。というようにしたいのですが、どのようにしてそれぞれのテキストフィールドをタップしたことを検知すれば良いのかご教授お願いします。
現状以下のようなどちらを選択しても同じピッカーが現れるようになっています。
以下、コードを乗せておきます。
swift
1 2class MyPageViewController: UIViewController,UIPickerViewDelegate,UIPickerViewDataSource,UIToolbarDelegate{ 3 4 var myToolBar:UIToolbar! 5 6 let sexList = ["ーーーーー","男","女"] 7 let addressList = ["ーーーーー","北海道","青森"] 8 9 @IBOutlet weak var sexText: UITextField! 10 @IBOutlet weak var addressText: UITextField! 11 12 override func viewDidLoad() { 13 super.viewDidLoad() 14 15 let myPicker = UIPickerView() 16 17 myPicker.delegate = self 18 myPicker.dataSource = self 19 20 sexText.inputView = myPicker 21 addressText.inputView = myPicker 22 23 myToolBar = UIToolbar(frame: CGRectMake(0, self.view.frame.size.height/6, self.view.frame.size.width, 40.0)) 24 myToolBar.layer.position = CGPoint(x: self.view.frame.size.width/2, y: self.view.frame.size.height-20.0) 25 myToolBar.barStyle = .Default 26 27 let toolBarBtn = UIBarButtonItem(title: "完了", style: .Plain, target: self, action: "myOK:") 28 toolBarBtn.tag = 1 29 myToolBar.items = [toolBarBtn] 30 31 sexText.inputAccessoryView = myToolBar 32 addressText.inputAccessoryView = myToolBar 33 } 34 35 override func didReceiveMemoryWarning() { 36 super.didReceiveMemoryWarning() 37 } 38 39 func myOK(sender: UIBarButtonItem) { 40 sexText.resignFirstResponder() 41 addressText.resignFirstResponder() 42 } 43 44 func numberOfComponentsInPickerView(picker:UIPickerView)->Int{ 45 return 1 46 } 47 48 func pickerView(picker:UIPickerView,numberOfRowsInComponent component:Int)->Int{ 49 50 return sexList.count 51 } 52 53 func pickerView(picker:UIPickerView,titleForRow row:Int,forComponent component:Int)->String?{ 54 return sexList[row] 55 } 56 57} 58

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/05/09 14:24
2016/05/09 14:38 編集
退会済みユーザー
2016/05/09 14:44
2016/05/09 14:47
退会済みユーザー
2016/05/10 13:27