Ios UIPickerView仅显示两条灰线

Ios UIPickerView仅显示两条灰线,ios,swift,xcode,user-interface,Ios,Swift,Xcode,User Interface,这是我第一次使用stackoverflow,我对编程非常陌生,所以如果这是一个糟糕的问题,请原谅我。无论如何,我试着创建一个UIPickerView,程序运行成功,但只显示了两条水平灰线。我将包括一些代码和图像。先谢谢你 let UIPicker: UIPickerView = UIPickerView() UIPicker.delegate = self as? UIPickerViewDelegate UIPicker.dataSource = self as? U

这是我第一次使用stackoverflow,我对编程非常陌生,所以如果这是一个糟糕的问题,请原谅我。无论如何,我试着创建一个UIPickerView,程序运行成功,但只显示了两条水平灰线。我将包括一些代码和图像。先谢谢你

let UIPicker: UIPickerView = UIPickerView()
    
    UIPicker.delegate = self as? UIPickerViewDelegate
    UIPicker.dataSource = self as? UIPickerViewDataSource
    self.view.addSubview(UIPicker)
    UIPicker.center = self.view.center
    
    class LanguageNativeViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
        
        let dataArray = ["English", "Spanish", "French", "German", "Italian", "Portuguese", "Russian", "Japanese"]
        
        func numberOfComponents(in pickerView: UIPickerView) -> Int {
           return 1
        }
        func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
           return dataArray.count
        }
        func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
           let row = dataArray[row]
           return row
        }

供将来参考。。。在这里提问时,最好发布您正在处理的实际代码

由于我们不知道您将代码放在何处,请尝试一下:

class LanguageNativeViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
    
    let dataArray = ["English", "Spanish", "French", "German", "Italian", "Portuguese", "Russian", "Japanese"]

    let UIPicker: UIPickerView = UIPickerView()

    override func viewDidLoad() {
        super.viewDidLoad()

        UIPicker.delegate = self
        UIPicker.dataSource = self
        self.view.addSubview(UIPicker)
        UIPicker.center = self.view.center
        
    }
    
    func numberOfComponents(in pickerView: UIPickerView) -> Int {
        return 1
    }
    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
        return dataArray.count
    }
    func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
        let row = dataArray[row]
        return row
    }

}
结果:

作为旁注,变量和属性使用小写:

let uiPicker: UIPickerView = UIPickerView()

您的三个委托方法是否被调用过?您的代码片段看起来是正确的,但在屏幕截图中LanguageNativeViewController既不是UIPickerViewDelegate也不是UIPickerViewDataSource@WongWray非常感谢,我修好了,它成功了。作为一个努力想弄明白这一点的初学者,我不能感谢你,因为我很高兴它成功了——很乐意帮忙。非常感谢你的帮助