2016-11-18 20 views
1

我想要做一個pickerView和一個按鈕,當你在pickerView中選擇你的選項時,它會轉到相關頁面。帶按鈕的選取器視圖轉到下一頁

到目前爲止,我已經到了您選擇選擇器視圖中的選項它轉到相關頁面,但我想要的是選擇,然後單擊按鈕進入頁面。

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) 

     } 
    } 
    } 
+0

是你能解決這個問題? –

回答

1

拿一個額外的變量來存儲有關您選擇哪一行的信息。

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) 
    }... 
    .... 
} 
0

可以得到選擇與該行:pickerView.selectedRow(inComponent: 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) 

    } 
} 
相關問題