为什么 UIPickerView 不显示行? swift
Why isn't UIPickerView showing rows? swift
我正在尝试制作一个包含 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;
}
我相信你应该 return non-empty 标题才能发挥作用
...
// 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
}
我正在尝试制作一个包含 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;
}
我相信你应该 return non-empty 标题才能发挥作用
...
// 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
}