2017-06-21 7 views

答えて

0

ピッカーにラベルテキストを設定しました。didselect delegate。次にボタンの操作方法で、ラベルテキストに基づいて開くVCを決定します。

0

最終的に選択するためにピッカーに埋め込まれた完了ボタンです。

は、次のコードを使用します。細かい

import UIKit 

class PickerViewController: UIViewController,UIPickerViewDataSource, UIPickerViewDelegate { 
    @IBOutlet weak var pickerVieww: UIPickerView! 
    var viewControllerArray = [String]() 
    var value = Int() 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     pickerVieww.delegate = self 
     pickerVieww.dataSource = self 
     viewControllerArray = ["controller1","controller2","controller3"] 
    } 
    func numberOfComponents(in pickerView: UIPickerView) -> Int { 
     return 1 
    } 
    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { 
     return viewControllerArray.count 
    } 
    func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { 
     return viewControllerArray[row] 
    } 
    func pickerView(_ pickerView: UIPickerView,didSelectRow row: Int,inComponent component: Int) 
    { 
     if(row == 0) { 
      value = 0 
     } 
     else if(row == 1) { 
      value = 1 
     } 
     else{ 
      value = 2 
     } 
    } 
    @IBAction func swicthToController(_ sender: Any) { 

     if value == 0{ 
      let vc = self.storyboard?.instantiateViewController(withIdentifier: "first") as! asasasViewController 
      self.present(vc, animated: true, completion: nil) 
     } 
     if value == 1{ 
      let vc = self.storyboard?.instantiateViewController(withIdentifier: "second") as! secondViewController 
      self.present(vc, animated: true, completion: nil) 
     } 
     if value == 2{ 
      let vc = self.storyboard?.instantiateViewController(withIdentifier: "third") as! thirdViewController 
      self.present(vc, animated: true, completion: nil) 
     } 
    } 
} 
作品
関連する問題