2015-02-07 50 views
0

我試圖使用標籤中的文本填充選擇器視圖。 我已經嘗試過在網上搜索和在書中如何做到這一點,但沒有運氣。 什麼我迄今未顯示任何錯誤,但仍然會無法運行隨機選擇器使用選擇器視圖與swift

感謝

進口的UIKit

類的ViewController:UIViewController中,UIPickerViewDelegate,UIPickerViewDataSource,UITextFieldDelegate {

@IBOutlet weak var label3: UILabel! 

@IBOutlet weak var label2: UILabel! 

@IBOutlet weak var label: UILabel! 

@IBOutlet weak var textField: UITextField! 

@IBOutlet weak var textField2: UITextField! 

@IBOutlet weak var textField3: UITextField! 


@IBAction func button(sender: UIButton) { 

    label.text = textField.text 
    label2.text = textField2.text 
    label3.text = textField3.text 
    self.textField.resignFirstResponder() 
    self.textField2.resignFirstResponder() 
    self.textField3.resignFirstResponder() 
} 

func textFieldShouldReturn(textField: UITextField) -> Bool { 
    textField.resignFirstResponder() 
    return false 
} 
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) { 
    self.view.endEditing(true) 
} 


var pickerLabels: [UILabel!] { 

    return [label,label2,label3] 
} 

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

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

func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> NSArray{ 

return pickerLabels 

} 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

    } 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
// Dispose of any resources that can be recreated. 

} 

}

+0

編輯你的問題,:更改文字的壁分離具有合理標點和語法的段落。顯示你到目前爲止的代碼。不需要笑臉。請注意,使用帶有選取器視圖但不需要的數組是很常見的。但想象一下:如果按下按鈕用文本字段中的文本更新數組,然後告訴picker視圖重新加載,該怎麼辦? – Anna 2015-02-07 13:09:15

回答

0

您正在將UILabels發送到您的陣列。 我相信你想什麼來實現的需要你來從UILabels文本,也給數組作爲[String]你的計算特性格式..

var pickerLabels: [String!] { 

    return [label.text, label2.text, label3.text] 
}