问题描述
我是 Swift 新手!我从几个来源学习。 我正在构建一个只有 2 个元素( PickerView 和 label )的小应用程序 我想知道如何让 PickerView 行内容显示到标签中? 还有没有办法显示行内容的更多信息?
.Box {
background-color:green;
}
.Box:nth-child(4n),.Box:nth-child(4n + 1) {
background-color:red;
}
例如:选择阿里时,我想在标签中显示“他得分90” 但我不希望在 PickerView 本身的 Ali 旁边显示“他得分 90”这句话
谢谢
解决方法
感谢 El Tomato 的提示 它是委托方法之一 - didSelectRow 而且效果很好
import UIKit
class ViewController: UIViewController {
@IBOutlet var picker: UIPickerView!
@IBOutlet var label: UILabel!
let names = ["Sara","Ali","Joy"]
override func viewDidLoad() {
super.viewDidLoad()
picker.dataSource = self
picker.delegate = self
}
}
extension ViewController : UIPickerViewDataSource {
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView,numberOfRowsInComponent component: Int) -> Int {
return names.count
}
}
extension ViewController : UIPickerViewDelegate {
func pickerView(_ pickerView: UIPickerView,titleForRow row: Int,forComponent component: Int) -> String? {
return names[row]
}
func pickerView(_ pickerView: UIPickerView,didSelectRow row: Int,inComponent component: Int) {
label.text = names[row]
}
}