Ich habe ein Problem mit Krankenhaus ViewPicker. Wenn der Benutzer auf das Textfeld Krankenhausname klickt, um den Namen des Krankenhauses aus viewPicker auszuwählen, lautet das Element show character "?" anstelle von Artikelnamen habe ich Bild Hinweis Ich benutze dieselbe Logik für Standort TextfeldPicker View ist Show Charakter "?" anstelle von Artikelname?
class VisitsViewController: UIViewController,UIPickerViewDataSource,UIPickerViewDelegate,UITextFieldDelegate, UIViewControllerTransitioningDelegate {
//MARK -
override func viewDidLoad() {
super.viewDidLoad()
self.view.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(BrnViewController.dismissKeybored)))
self.pickerLocation.dataSource = self
self.pickerLocation.delegate = self
self.pickerLocation.tag = 1
self.pickerHospital.dataSource = self
self.pickerHospital.dataSource = self
self.pickerHospital.tag = 2
visitLocationTextField.inputView = pickerLocation
self.visitLocationTextField.delegate = self
hospitalNameTextField.inputView = pickerHospital
self.hospitalNameTextField.delegate = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// MARK: - Picker View
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if pickerView.tag == 1 {
return pickerDataVisitLocation.count
}
else{
return pickerDataHospitalName.count
}
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int){
if pickerView.tag == 1{
visitLocationTextField.text = pickerDataVisitLocation[row]
}
else{
HospitalNameTextField.text = pickerDataHospitalName[row]
}
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int)-> String? {
if pickerView.tag == 1{
return pickerDataVisitLocation[row]
}
else{
return pickerDataHospitalName[row]
}
}
//MARK: - @IBOutlet
@IBOutlet weak var visitLocationTextField: UITextField!
@IBOutlet weak var hospitalNameTextField: UITextField!
//MARK: - variables
var pickerDataVisitLocation = [" ","Home","Hospital","Other"]
var pickerDataHospitalName = [" ","test1","test2","test3"]
var pickerLocation = UIPickerView()
var pickerHospital = UIPickerView()
}
Fügen Sie einen Ausdruck in 'titleForRow' hinzu; druckt es die richtige Zeichenfolge? Ist diese Zeichenfolge optional? – Dopapp
Ich bemerkte, dass Sie self.pickerHospital.dataSource = selbst zweimal gesetzt haben. Können Sie eine dieser Zeilen löschen und sehen, ob das das Problem verursacht hat? – scord
Mögliches Duplikat von [PickerView erscheint als Fragezeichen anstelle von Daten?] (Http://stackoverflow.com/questions/26747115/pickerview-shows-up-as-question-marks-instead-of-data) – NightFury