Non riesco a capire quale UITextField
è attualmente attivo in modo da poter cancellare il suo testo se si preme Annulla su un UIBarButtonItem
. Ecco il mio codice. C'è una vista con uno UIPickerView
, UIToolBar
e due elementi del pulsante bar. L'elemento di annullamento ha un'azione che cancellerà il suo testo solo non riesco a capire come ottenere il corretto UITextField
.Come determinare quale campo di testo è attivo swift
ho provato questi sia:
@IBAction func cancelText(sender: AnyObject) {
if self.truckYear.editing == true{
println("truckYear")
clearText(self.truckYear)
} else if self.truckMake.editing == true{
clearText(self.truckMake)
}
}
@IBAction func doneText(sender: AnyObject) {
pickerView.hidden = true
}
func clearText(textField:UITextField){
println("in clear text")
textField.text = nil
}
E:
@IBAction func cancelText(sender: AnyObject) {
if self.truckYear.isFirstResponder(){
println("truckYear")
clearText(self.truckYear)
} else if self.truckMake.isFirstResponder(){
clearText(self.truckMake)
}
}
@IBAction func doneText(sender: AnyObject) {
pickerView.hidden = true
}
func clearText(textField:UITextField){
println("in clear text")
textField.text = nil
}
Quindi potrei usarlo e poi nell'azione UIBarButtonItem basta dire clearText (self.activeTextField)? – Suzukijak3
Sì, saresti in grado di farlo. – Randy
Ok ho appena provato e nessun errore, ma il testo non è stato impostato per nill. Questo è il mio codice, 'textFieldDidBeginEditing func (textField: UITextField) { self.activeTextfield = textField } @IBAction func cancelText (mittente: ANYOBJECT) { println ("azione licenziato") self.activeTextfield. text = nil self.pickerView.hidden = true} @IBAction func doneText (mittente: ANYOBJECT) { pickerView.hidden = true} ' – Suzukijak3