ios - I can't set the uipickerview datasource and delegate from an outside file
问题描述
I can't seem to set my outside pickerview datasource and delegate to my main view. Is there away I can set it? I want to keep my pickerview in a separate file due to other future views that might use it
This is my custom picker view
final class LenghtPickerView: UIPickerView, UIPickerViewDataSource, UIPickerViewDelegate {
let feet = Array(4...7)
let inches = Array(1...11)
private var textFieldBeginEdited: UITextField?
var selectedValue: String {
get {
return "\(feet[selectedRow(inComponent: 0)]) ft \(inches[selectedRow(inComponent: 0)]) in"
}
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 2
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if component == 0 {
return feet.count
} else {
return inches.count
}
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if component == 0 {
return String(feet[row])
} else {
return String(inches[row])
}
}
}
and in my main view declaring it
private let lenghtPickerView = LenghtPickerView()
also tried
private let lenghtPickerView: LenghtPickerView = LenghtPickerView()
cant set the datasource and delegate in order for the data to be render
lenghtPickerView.delegate = self
lenghtPickerView.dataSource = self
解决方案
如果您尝试在 UIView 类中委托 pickerView,请尝试此操作。
检查 awakeFromNib()
功能。
因为我的看起来像这样
override class func awakeFromNib() {
super.awakeFromNib()
pickerView.delegate = self //Cant delegate
pickerView.dataSource = self
}
几分钟后,我在这里发现了一些不同的东西,我从“覆盖类 func awakeFromNib(){}”中删除了“类”
现在我可以委托它的工作,我的awakeFromNib()
函数如下所示:
override func awakeFromNib() {
super.awakeFromNib()
pickerView.delegate = self
pickerView.dataSource = self
}
推荐阅读
- django - Django,React-Native 连接网络请求失败
- javascript - 如何将 X 和 Y 速度转换为一个速度
- c - 接受不区分大小写的输入并正确打印出来
- sql - SQL 从 2 个表中选择,其中第二个表中的值可能不存在
- makefile - makefile 默认可以执行 unix 文件系统命令吗?
- amazon-web-services - 在 API Gateway 中将 x-www-form-urlencoded 数据映射为 Firehose 格式
- tsql - SQL - 从 INT(127 -> A000127) 创建固定长度的字符串
- python - 如何在 Robot-Framework report.html 上添加指向套件元数据的内部链接?
- flutter - 通过 https 协议的外部请求在 android 9 上不起作用
- amazon-web-services - 为什么 S3 ETag 有多余的字符?