可以创建一个返回带有数据的 PickerView 的函数吗?
Posted
技术标签:
【中文标题】可以创建一个返回带有数据的 PickerView 的函数吗?【英文标题】:Possible to create a function that returns PickerView with data? 【发布时间】:2017-05-12 16:47:49 【问题描述】:我正在尝试创建一个框架来执行 API 调用并使用来自 API 调用的填充数据创建一个 PickerView。 ios 客户端将导入此框架并调用一个公开的函数,该函数应返回包含已加载数据的 PickerView。
我设法创建了一个创建 PickerView 的函数,但不知道如何在 PickerView 中插入数据。
// Framework Side
public static func returnPickerView() -> UIPickerView
let apple = ["apple", "orange", "durian", "banana"]
let customPicker = UIPickerView()
customPicker.frame = CGRect(x: 0, y: 0, width: 300, height: 300)
customPicker.layer.borderColor = UIColor.black.cgColor
customPicker.layer.borderWidth = 1
return customPicker
【问题讨论】:
你应该继承UIPickerView
并创建你的自定义类
成功了,谢谢。
【参考方案1】:
解决这个问题的方法是创建一个自定义类,就像 JuicyFruit 所说的那样。
class CustomPickerView: UIPickerView
override init(frame: CGRect)
super.init(frame: frame)
dataSource = self
delegate = self
required init?(coder aDecoder: NSCoder)
super.init(coder: aDecoder)
extension CustomPickerView: UIPickerViewDelegate
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
...
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String?
...
extension CustomPickerView: UIPickerViewDataSource
func numberOfComponents(in pickerView: UIPickerView) -> Int
...
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int
...
【讨论】:
以上是关于可以创建一个返回带有数据的 PickerView 的函数吗?的主要内容,如果未能解决你的问题,请参考以下文章
带有pickerview的UItextfield作为第一响应者ios
带有 NSMutableArray 数据的 UITableView 返回空