ios - 点击字段时,数据未填充到 UIPickerView 中

标签 ios swift uipickerview

我正在尝试学习如何以编程方式将数据填充到 UIPickerView 中,而不是将选择器作为主 Storyboard上的元素。我正在一个项目中练习,以便当我完成此操作时,我可以将代码复制到我实际尝试开发的项目中。到目前为止,当我点击季节字段时,屏幕底部会出现一个灰色选择器,但其中没有数据。我有一种感觉,这是因为我尝试填充数据的方式,这是我从有关将数据填充到选择器 View 的教程中获得的,但该教程在主 Storyboard上有一个选择器元素。我可以得到一些关于这方面的指导吗?谢谢。

class ViewController: UIViewController, UIPickerViewDelegate {

@IBOutlet var enterSeason: UITextField!

var dataPickerView = UIPickerView()
var season = ["2013", "2014", "2015"] //multi-season
//var season = ["2015"] //single-season

override func viewDidLoad() {
    super.viewDidLoad()

    enterSeason.inputView = dataPickerView
    //enterSeason.inputView = UIPickerView()

}

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

func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
    return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    return season.count
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
    return season[row] as String
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
    var itemSelected = season[row] as String
    self.enterSeason.text  = itemSelected
}
}

最佳答案

您的 ViewController 实现了 UIPickerViewDelegateUIPickerViewDataSource 方法,但您需要将 ViewController 设置为 UIPickerView 的委托(delegate)和数据源。

将此代码添加到viewDidLoad:

dataPickerView.delegate = self
dataPickerView.dataSource = self

并让您的 ViewController 类通过更改来声明它符合 UIPickerDataSource 协议(protocol)

class ViewController: UIViewController, UIPickerViewDelegate

class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource

关于ios - 点击字段时,数据未填充到 UIPickerView 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29955477/

相关文章:

ios - 如何在Azure托管代理上使用特定的iOS版本?

具有动态高度的 iOS 单元格宽度不佳

swiftui - 检查 pickerView SwiftUi 中的选择

iphone - DigitalDJ/AudioStreamer 未连接到流媒体服务器

ios - 临时分发 iTunes 同步错误

应用程序打开时的 iOS 应用程序通知(如 whatsapp)

ios - 如何获取iCloud中存储的图片路径?

objective-c - 错误 : 'row" undeclared UI Picker

ios - Xcode:UIPickerView 文本和 View Controller 链接

ios - Xcode 7.0.1 中缺少推荐的图标文件