2014-12-29 27 views
-1

我是編程新手,請原諒這個問題的基本性質。Swift中多個單獨的Pickerviews

我想把多個選擇器視圖放到同一個類中,但是他們不斷的用相同的選擇回來。

class ViewController: UIViewController, UIPickerViewDelegate{ 

@IBOutlet var outgoing: UIPickerView! 

var var1=["1","2"] 
var var2=["a","b"] 

override func viewDidLoad() { 
    super.viewDidLoad() 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
} 

func numberOfComponentsInPickerView(pickerView: UIPickerView!) ->Int{ 
    return 2 
} 


func pickerView(pickerView: UIPickerView!, numberOfRowsInComponent component: Int) ->Int { 

    return var1.count 


} 


func pickerView(pickerView: UIPickerView!, titleForRow row: Int, forComponent component: Int)->String!{ 
    return var2[row] 

} 

有什麼建議嗎?

+0

你的意思是,你需要證明在同一類兩個選擇器? –

+0

他們需要顯示在同一個控制器中,所以我認爲代碼是在同一個類中。 (我的術語不正確?) –

回答

0

爲了顯示你需要改變你的方法,如兩個部分組成:

func numberOfComponentsInPickerView(pickerView: UIPickerView!) ->Int 
{ 
     return 2 
} 


func pickerView(pickerView: UIPickerView!, numberOfRowsInComponent component: Int) ->Int 
{ 
    var rows = var2.count 
    if component == 0 
    { 
     rows = var1.count 
    } 
    return rows; 
} 


func pickerView(pickerView: UIPickerView!, titleForRow row: Int, forComponent component: Int)->String! 
{ 
    var componentStr = var2[row] 
    if component == 0 
    { 
     componentStr = var1[row] 
    } 
    return componentStr; 
} 
+0

這種工作方式,但我試圖把一個完全不相關的選擇器放在同一個控制器上。當我添加額外的控制器時,它只顯示了var1數組。如果我想添加第三個數組,我該怎麼做? –

+0

@AndyDewan:這是一個新問題。如果你添加一個新的選擇器添加標籤給他們,並使用標籤來區分它們。 –

相關問題