ios - 子类 UIPickerView swift

标签 ios swift uipickerview

我正在尝试创建 UIPickerView 的子类,以便我可以在多个 View 中使用我的选择器。我试图以编程方式将我的选择器调用为 UITextFieldinputView,但我不知道如何正确初始化它。我怀疑这是否是正确的方法以及如何让它发挥作用。希望大家能够帮助我。

UIPickerView子类:

import UIKit

 class GroupPicker : UIPickerView, UIPickerViewDelegate, UIPickerViewDataSource{

    var cdm = CoreDataManager()
    var groupObjList : [Group]!

    init() {
       groupObjList = cdm.groupList()
    }

    //MARK: - Delegates and data sources

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

    func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
        return groupObjList.count
    }

    func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
        return groupObjList[row].title
    }

    func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
        println("picked \(groupObjList[row].title)")

    }        
}

我如何尝试在 View Controller 中调用它:

override func viewDidLoad() {
    super.viewDidLoad()

    groupPicker = GroupViewPicker()  //instead of UIPickerView()
    groupField.inputView = groupPicker
}

最佳答案

您必须重写您的init方法

required init(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}

override init(frame: CGRect) {
    super.init(frame:frame)
    self.delegate = self
    self.dataSource = self
}

关于ios - 子类 UIPickerView swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28612545/

相关文章:

ios - JSON 在 Swift 中编码非原始类型

ios - 在屏幕上移动 UIImage

ios - PhoneGap CLI "cordova build ios"失败

ios - 在两个静态 UITableViewCell 之间插入带有 UIPickerView 的行时出现 NSRangeException

ios - Swift - 实例成员不能在类型 ViewController 上使用

iphone - 居中 UIPickerView 文本

ios - 如何获取当前正在输入的单词?

ios - ARKit:渲染器(didAdd:)和渲染器(nodeFor:)独占

iphone - UIPickerView 不更新

ios - 如何禁用 UIPickerView (Swift)?