为什么UIPickerView没有显示行?迅速

时间:2016-04-23 20:06:45

标签: ios swift uipickerview

我试图制作一个包含2个组件的UIPickerView,每个组件都有不同的行数。我认为我可以将每个组件的行号基于组件的索引,但是当我运行我的应用程序时,UIPickerView只显示一个空白行,并且不允许滚动。

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

// grades is a 2D array
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    return grades[component].count
}

// level and letter are predefined ints
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
    if component == 0 {
        level = row
    }else if component == 1 {
        letter = row
    }
    return ""
}

编辑:

这是我的viewDidLoad()

override func viewDidLoad() {
    super.viewDidLoad()
    pickerView.dataSource = self;
    pickerView.delegate = self;
}

1 个答案:

答案 0 :(得分:0)

我相信你应该返回非空标题以使其正常工作

...

// level and letter are predefined ints

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

    if component == 0 {
        level = row
    } else if component == 1 {
        letter = row
    }
    return "Component: \(component) Row: \(row)" // whatever string you want to display
}