gpt4 book ai didi

ios - UiPickerView 不显示值

转载 作者:行者123 更新时间:2023-11-28 07:31:51 27 4
gpt4 key购买 nike

然后下面的代码加载了一个 Struct 数组并将它们插入到 UIPickerView 对象中,但是值没有显示在 UIPickerView 中但是如果我点击UIPickerView 打印包含的内容的值被执行,选定时间的值被保存在一个变量中,我该如何解决这个问题?

代码 swift :

import UIKit

class GestioneArticoliViewController: UIViewController, UITableViewDelegate,UIPickerViewDelegate, UIPickerViewDataSource, UITableViewDataSource
{

private var TipologiaLoad: [TipologiaStruct] = []
private var TipologiaUIPicker: UIPickerView = UIPickerView()


override func viewDidLoad() {

super.viewDidLoad()
hideKeyboardWhenTappedAround()
self.view.backgroundColor = UIColor.white
..
//UILabel rapportino
labelRapportino = UILabel(frame: CGRect(x: 290, y: 280, width: 200, height: 21))
labelRapportino.font = UIFont(name: "HelveticaNeue-Bold", size: 16.0)
labelRapportino.text = "Rapportino: "
self.view.addSubview(labelRapportino)
//Configurazione UIPickerView Articolo
let label = UILabel(frame: CGRect(x: (self.view.frame.width / 2) - 170, y: 310, width: 90, height: 24))
label.font = UIFont(name: "HelveticaNeue-Bold", size: 16.0)
label.textAlignment = .center
label.text = "Tipologia: "
self.view.addSubview(label)
//Configurazione :impostazioni picker view
self.TipologiaUIPicker = UIPickerView(frame: CGRect(x: (self.view.frame.width / 2) - 70, y: 300, width: 200, height: 50))
self.TipologiaUIPicker.delegate = self
self.TipologiaUIPicker.dataSource = self
self.TipologiaUIPicker.backgroundColor = UIColor.white
self.view.addSubview(TipologiaUIPicker)
/* carico gli aritcoli del cantiere e le tipologie */
CaricaArticoliCantiere()
CaricaTipologie()
SwitchRapportino.isHidden = false
labelRapportino.isHidden = false

}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}


@objc func Return(sender: UIButton!) {
let CantiereSelezionato = GestioneCantieriViewController(CantiereSet: CantiereInterno!)
self.present(CantiereSelezionato, animated: true, completion: nil)
}



//Funzione per il caricamento tipologie articoli
func CaricaTipologie()
{
let atemp = ArticoloCantiere(Cantiere: CantiereInterno)
atemp.CaricaTipologieArticoli(completion: { result in
self.TipologiaLoad = result
});
}

//Metodo delegato che ritorna il numero di righe
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return TipologiaLoad.count
}

// Metodo delegato che ritorna il valore mostrato nella riga
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String?
{
IdTipologia = TipologiaLoad[row].IdTipologiaPreventivo
return TipologiaLoad[row].NomeTipologia
}

// Metodo Delato Chiamao quando viene selezionata una righa
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
print("\n TipologiaLoad[row].IdUtente \(TipologiaLoad[row].IdTipologiaPreventivo!)")
IdTipologia = TipologiaLoad[row].IdTipologiaPreventivo!
print("\n TipologiaLoad[row].NomeTipologia \(TipologiaLoad[row].NomeTipologia!)")
}

//Number of Columns into UIPickerView
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}

最佳答案

不要忘记在数据下载后重新加载 pickerView。

//Funzione per il caricamento tipologie articoli
func CaricaTipologie()
{
let atemp = ArticoloCantiere(Cantiere: CantiereInterno)
atemp.CaricaTipologieArticoli(completion: { result in
self.TipologiaLoad = result
self.TipologiaUIPicker.reloadAllComponents()
});
}

关于ios - UiPickerView 不显示值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54476265/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com