Ios 带按钮的选择器视图,可转到下一页

Ios 带按钮的选择器视图,可转到下一页,ios,swift,uipickerview,Ios,Swift,Uipickerview,我试着做一个pickerView和一个按钮,当你在pickerView中选择你的选项时,它会进入相关页面 到目前为止,当您在picker view中选择选项时,它会转到相关页面,但我想要的是选择,然后单击按钮转到页面 import UIKit class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate { @IBOutlet weak var pickerView: UIPi

我试着做一个pickerView和一个按钮,当你在pickerView中选择你的选项时,它会进入相关页面

到目前为止,当您在picker view中选择选项时,它会转到相关页面,但我想要的是选择,然后单击按钮转到页面

 import UIKit

 class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate {

  @IBOutlet weak var pickerView: UIPickerView!

var selection = ["Page 1", "Page 2", "Page 3"]


override func viewDidLoad() {
    super.viewDidLoad()

    pickerView.dataSource = self
    pickerView.delegate = self


}

@IBAction func SelectionBtn(_ sender: Any) {

    } 



func numberOfComponents(in pickerView: UIPickerView) -> Int {
    return 1
}

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    return selection.count
}

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
    let selected = selection[row]

    return selected
}

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {



    if (row == 0) {

    performSegue(withIdentifier: "red", sender: self)
    }
    else if (row == 1) {

    performSegue(withIdentifier: "blue", sender: self)
    }
    else {
    performSegue(withIdentifier: "green", sender: self)

        }
    }
  }

使用一个额外的变量来存储关于所选行的信息

var rowSelected:Int! = -1
将所选行存储到此变量

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
 rowSelected = row
}
在按钮操作期间,检查变量以执行所需的顺序

@IBAction func actSegue(sender:Any){
    if row == 0 {
        performSegue(withIdentifier: "red", sender: self)
    }...
    ....
}

您可以使用:
pickerView.selectedRow(不完整:0)


你能解决这个问题吗?
@IBAction func SelectionBtn(_ sender: Any) {
 let rowSelected = pickerView.selectedRow(inComponent: 0)
 if (rowSelected == 0) {

performSegue(withIdentifier: "red", sender: self)
}
else if (rowSelected == 1) {

performSegue(withIdentifier: "blue", sender: self)
}
else {
performSegue(withIdentifier: "green", sender: self)

    }
}