我對編程/編碼真的很陌生(即,直到本週末我從來沒有這樣做過),並且我陷入了困境。我一直在YouTube上搜索大量的教程和東西,我相信我做的一切正確,但是我的選擇器輪子顯示「?」而不是正確的值,除非其中一個「?」被選中時,正確的文本顯示在文本字段中。任何人都能發現我的錯誤嗎UIPickerView返回「?」在PickerWheel上,但在UITextField中返回正確的值XCode 7
我已經看過這個論壇加載,但再次,據我所知,我所做的一切都是正確的。
P.s.我不能在此刻嵌入照片,因爲我太新
TextField returning correct data
Corresponding data selected on PickerView displayed as a "?"
import UIKit
class ProfileCreator: UIViewController, UIPickerViewDelegate, UITextFieldDelegate, UIPickerViewDataSource {
// -------------------------------------------------------------------------------------- //
// DOB Selector From Text Field Start 1 //
@IBOutlet weak var DOBSelectorTextField: UITextField!
func textFieldDidBeginEditing(textField: UITextField) {
let datepicker = UIDatePicker()
textField.inputView = datepicker
datepicker.datePickerMode = UIDatePickerMode.Date
datepicker.addTarget(self, action: "datepickerchanged:", forControlEvents: .ValueChanged)
}
func textFieldShouldReturn(textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
func datepickerchanged(sender: UIDatePicker) {
let formatter = NSDateFormatter()
formatter.dateFormat = "dd MMMM yyyy"
DOBSelectorTextField.text = formatter.stringFromDate(sender.date)
}
// DOB Selector From Text Field End 1 //
// -------------------------------------------------------------------------------------- //
// Gender Selector From Text Field Start 1 //
@IBOutlet weak var GenderSelectorTextField: UITextField!
var GenderSelectorData = ["Male", "Female"]
var GenderSelectorPicker = UIPickerView()
// Gender Selector From Text Field End 1 //
// -------------------------------------------------------------------------------------- //
// Height Whole Number Text Field Start 1 //
@IBOutlet weak var HeightWholeNumberTextField: UITextField!
// Height Whole Number Text Field Start 1 //
// -------------------------------------------------------------------------------------- //
// Height Whole Number Unit Selector Text Field Start 1 //
@IBOutlet weak var HeightWholeNumberUnitSelectorTextField: UITextField!
var HeightWholeNumberUnitSelectorData = ["m", "ft"]
var HeightWholeNumberUnitSelectorPicker = UIPickerView()
// Height Whole Number Unit Selector Text Field Start 1 //
// -------------------------------------------------------------------------------------- //
// Height Decimal Number Text Field Start 1 //
@IBOutlet weak var HeightDecimalTextField: UITextField!
// Height Decimal Number Text Field End 1 //
// -------------------------------------------------------------------------------------- //
// Height Decimal Number Unit Selector Text Field Start 1 //
@IBOutlet weak var HeightDecimalNumberUnitSelectorTextField: UITextField!
var HeightDecimalNumberUnitSelectorData = ["cm", "inch"]
var HeightDecimalNumberUnitSelectorPicker = UIPickerView()
// Height Decimal Number Unit Selector Text Field End 1 //
// -------------------------------------------------------------------------------------- //
// Current Weight Whole Number Text Field Start 1 //
@IBOutlet weak var CurrentWeightWholeNumberTextField: UITextField!
// Current Weight Whole Number Text Field Start 1 //
// -------------------------------------------------------------------------------------- //
// Current Weight Whole Number Unit Selector Text Field Start 1 //
@IBOutlet weak var CurrentWeightWholeNumberUnitSelectorTextField: UITextField!
var CurrentWeightWholeNumberUnitSelectorData = ["kg", "lb"]
var CurrentWeightWholeNumberUnitSelectorPicker = UIPickerView()
// Current Weight Whole Number Unit Selector Text Field Start 1 //
// -------------------------------------------------------------------------------------- //
// Current Weight Decimal Number Text Field Start 1 //
@IBOutlet weak var CurrentWeightDecimalNumberTextField: UITextField!
// Current Weight Decimal Number Text Field End 1 //
// -------------------------------------------------------------------------------------- //
// Current Weight Decimal Number Unit Selector Text Field Start 1 //
@IBOutlet weak var CurrentWeightDecimalNumberUnitSelectorTextField: UITextField!
var CurrentWeightDecimalNumberUnitSelectorData = ["g", "oz"]
var CurrentWeightDecimalNumberUnitSelectorPicker = UIPickerView()
// Current Weight Decimal Number Unit Selector Text Field End 1 //
// -------------------------------------------------------------------------------------- //
// Close keyboard start //
func closekeyboard() {
self.view.endEditing(true)
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
closekeyboard()
}
// Close keyboard end //
// -------------------------------------------------------------------------------------- //
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
// -------------------------------------------------------------------------------------- //
// DOB Selector From Text Field Start 2 //
DOBSelectorTextField.delegate = self
// DOB Selector From Text Field End 2 //
// -------------------------------------------------------------------------------------- //
// Gender Selector From Text Field Start 2 //
GenderSelectorPicker.delegate = self
GenderSelectorPicker.dataSource = self
GenderSelectorTextField.inputView = GenderSelectorPicker
// Gender Selector From Text Field End 2 //
// -------------------------------------------------------------------------------------- //
// Height Whole Number Unit Selector Text Field Start 2 //
HeightWholeNumberUnitSelectorPicker.delegate = self
HeightWholeNumberUnitSelectorPicker.dataSource = self
HeightWholeNumberUnitSelectorTextField.inputView = HeightWholeNumberUnitSelectorPicker
// Height Whole Number Unit Selector Text Field End 2 //
// -------------------------------------------------------------------------------------- //
// Height Decimal Unit Selector Text Field Start 1 //
HeightDecimalNumberUnitSelectorPicker.delegate = self
HeightDecimalNumberUnitSelectorPicker.dataSource = self
HeightDecimalNumberUnitSelectorTextField.inputView = HeightDecimalNumberUnitSelectorPicker
// Height Decimal Unit Selector Text Field End 1 //
// -------------------------------------------------------------------------------------- //
// Current Weight Whole Number Unit Selector Text Field Start 2 //
CurrentWeightWholeNumberUnitSelectorPicker.delegate = self
CurrentWeightWholeNumberUnitSelectorPicker.dataSource = self
CurrentWeightWholeNumberUnitSelectorTextField.inputView = CurrentWeightWholeNumberUnitSelectorPicker
// Current Weight Whole Number Unit Selector Text Field End 2 //
// -------------------------------------------------------------------------------------- //
// Current Weight Decimal Unit Selector Text Field Start 1 //
CurrentWeightDecimalNumberUnitSelectorPicker.delegate = self
CurrentWeightDecimalNumberUnitSelectorPicker.dataSource = self
CurrentWeightDecimalNumberUnitSelectorTextField.inputView = CurrentWeightDecimalNumberUnitSelectorPicker
// Current Weight Decimal Unit Selector Text Field End 1 //
// -------------------------------------------------------------------------------------- //
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// -------------------------------------------------------------------------------------- //
// Selectors Start 1 //
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if pickerView == GenderSelectorPicker {
return GenderSelectorData.count
} else if pickerView == HeightWholeNumberUnitSelectorPicker {
return HeightWholeNumberUnitSelectorData.count
} else if pickerView == HeightDecimalNumberUnitSelectorPicker {
return HeightDecimalNumberUnitSelectorData.count
} else if pickerView == CurrentWeightWholeNumberUnitSelectorPicker {
return CurrentWeightWholeNumberUnitSelectorData.count
} else if pickerView == CurrentWeightDecimalNumberUnitSelectorPicker {
return CurrentWeightDecimalNumberUnitSelectorData.count
}
return 1
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent comonent: Int) {
if pickerView == GenderSelectorPicker {
GenderSelectorTextField.text = GenderSelectorData[row]
} else if pickerView == HeightWholeNumberUnitSelectorPicker {
HeightWholeNumberUnitSelectorTextField.text = HeightWholeNumberUnitSelectorData[row]
} else if pickerView == HeightDecimalNumberUnitSelectorPicker {
HeightDecimalNumberUnitSelectorTextField.text = HeightDecimalNumberUnitSelectorData[row]
} else if pickerView == CurrentWeightWholeNumberUnitSelectorPicker {
CurrentWeightWholeNumberUnitSelectorTextField.text = CurrentWeightWholeNumberUnitSelectorData[row]
} else if pickerView == CurrentWeightDecimalNumberUnitSelectorPicker {
CurrentWeightDecimalNumberUnitSelectorTextField.text = CurrentWeightDecimalNumberUnitSelectorData[row]
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if pickerView == GenderSelectorPicker {
return GenderSelectorData[row]
} else if pickerView == HeightWholeNumberUnitSelectorPicker {
return HeightWholeNumberUnitSelectorData[row]
} else if pickerView == HeightDecimalNumberUnitSelectorPicker {
return HeightDecimalNumberUnitSelectorData[row]
} else if pickerView == CurrentWeightWholeNumberUnitSelectorPicker {
return CurrentWeightWholeNumberUnitSelectorData[row]
} else if pickerView == CurrentWeightDecimalNumberUnitSelectorPicker {
return CurrentWeightDecimalNumberUnitSelectorData[row]
}
return ""
}
}
// Selectors End 1
}
固定的格式,它是不可能的閱讀。 – RaffAl
道歉,應該現在可讀 – snoopios