我使用了最新版本的 Xcode 和最新版本的 Swift。我按照 link 的步骤进行操作但是pickerview没有出现在模拟器中。代码如下。有人可以帮我检查一下吗?非常感谢!
导入 UIKit
类 ViewController: UIViewController, UIPickerViewDelegate {
@IBOutlet var imageView: UIImageView!
@IBOutlet var infoLabel:UILabel!
@IBOutlet 变量选择器:UIPickerView!
//var fruits: [String] = [String]()
var fruits = ["挑选一种水果", "Apples", "Oranges", "Lemons", "Blueberries"]
覆盖 func viewDidLoad() {
super.viewDidLoad()
imageView.image = UIImage(named: "fruit.jpg")
//picker.delegate = self
//在加载 View 后做任何额外的设置,通常是从一个 nib。
}
覆盖 func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
//处理所有可以重新创建的资源。
}
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int{
返回 1
}
func pickerView(pickeView:UIPickerView,numberOfRowsInCompoment 组件:Int)->Int{
返回 5
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent 组件: Int) -> String?{
返回水果[行]
}
func pickerView(pickerView:UIPickerView,didSelectRow 行:Int,inComponent 组件:Int){
varfruitSelected = 水果[行]
开关(水果选择){
案例“苹果”:
imageView.image = UIImage(named: "apple.jpg")
infoLabel.text = "这些苹果是红色的"
案例“橙子”:
imageView.image = UIImage(named: "orange.jpg")
infoLabel.text = "这些橙子是黄色的"
案例“柠檬”:
imageView.image = UIImage(named: "Lemon.jpg")
infoLabel.text = "这些柠檬是绿色的"
案例“蓝莓”:
imageView.image = UIImage(named: "Blueberry.jpg")
infoLabel.text = "这些蓝莓是蓝色的"
默认:
imageView.image = UIImage(named: "fruit.jpg")
infoLabel.text = "摘水果"
}
}
}
Best Answer-推荐答案 strong>
假设您在 Storyboard 中正确设置了委托(delegate)和数据源,则您的问题是方法签名不正确。注意方法签名 (pickeView: UIPickerView, numberOfRowsInCompoment component: Int) 中的拼写错误。 pickeView 中缺少 r 并在 numberOfRowsInCompoment 中使用 m 而不是 n .
试试下面的函数,你应该已经准备好了......
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) ->Int{
return 5
}
关于ios - Swift 2.1 - UIPickerView 不能正常工作,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/33094826/
|