2015-02-07 117 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] 
}