ios - 以编程方式创建和显示 UIPickerView

标签 ios swift uipickerview

我正在尝试以编程方式创建 UIPickerView 并将其显示为文本字段的 firstResponder,但是,选择器 View 未显示。 textField 连接到界面构建器中的对象,但 pickerView 是以编程方式创建的。

class View: UIViewController {
    @IBOutlet var picker : UIPickerView = UIPickerView.alloc()
    @IBOutlet var textField : UITextField = nil
    override func viewDidLoad() {
        super.viewDidLoad()
        picker = UIPickerView()
        picker.delegate = self
        picker.dataSource = self
        picker.backgroundColor = UIColor.blackColor()
        textField.inputView = picker
    }
}
extension View: UIPickerViewDataSource {

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

    func pickerView(pickerView: UIPickerView!, numberOfRowsInComponent component: Int) -> Int {
        return 5
    }
}

extension View: UIPickerViewDelegate {

    func pickerView(pickerView: UIPickerView!, titleForRow row: Int, forComponent component: Int) -> String!
    {
        return "Text"
    }
}

为什么我在运行应用时看不到这个 pickerView?

编辑:在扩展中添加断点不会停止程序,它们不会被调用。

最佳答案

我发现了问题——分配输入 View 的代码不包括self。应该是

self.textField.inputView = picker

关于ios - 以编程方式创建和显示 UIPickerView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24836369/

相关文章:

ios - 发布使用旧版 SDK 构建的 iOS 应用程序

ios - 无法使用类型为 'AVCaptureDeviceInput' 的参数列表调用类型为 '(device: AVCaptureDevice!, error: inout NSError?)' 的初始值设定项

ios - iOS 中的 Google+ API,GPPShare 收件人设置

ios - 显示最后推送的 Controller 的选项卡栏 Controller - swift 4

objective-c - 我仍然遇到 NSXMLParser 的 UTF-8 编码问题

ios - 如何将字符串标签(xAxis 标签)添加到图表框架中的水平条

ios - swift2 将文本文件的内容加载到变量中

ios - 选择器到 NSString 到 UITextField

swift - 用 contentsOfDirectory Swift 填充 uipicker

objective-c - 更改选择上的标签。 UIPickverView