gpt4 book ai didi

ios - 使 UIPickerView 依赖于选定的行(Swift)

转载 作者:行者123 更新时间:2023-11-28 12:35:59 25 4
gpt4 key购买 nike

这是我想要实现的目标 enter image description here

使第二个 UIPickerView 依赖于当前选中的行 enter image description here

最佳答案

1.set dataSource or delegate from storyboard

2.从 Storyboard中设置PickerOne的标签101。

class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {

@IBOutlet weak var pickerTwo: UIPickerView!

let pickerOneOptions = ["TV", "RADIO"]
let pickerTwoTVOptions = ["ABC", "SBS"]
let pickerTwoRadioOptions = ["TripleJ", "107.0", "CBS"]
var pickerOneSelectedRow:Int = 0

override func viewDidLoad() {
super.viewDidLoad()
}

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

func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if pickerView.tag == 101 { //pickerOne
return pickerOneOptions.count
} else { //pickerTwo
if self.pickerOneSelectedRow == 0 {
return pickerTwoTVOptions.count
} else {
return pickerTwoRadioOptions.count
}
}
}

func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if pickerView.tag == 101 { //pickerOne
return pickerOneOptions[row]
} else { //pickerTwo
if self.pickerOneSelectedRow == 0 {
return pickerTwoTVOptions[row]
} else {
return pickerTwoRadioOptions[row]
}
}
return nil
}

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
if pickerView.tag == 101 {
self.pickerOneSelectedRow = row
pickerTwo.reloadAllComponents()
}
}
}

关于ios - 使 UIPickerView 依赖于选定的行(Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40902141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com