Nie mogę określić, które UITextField
jest obecnie aktywne, więc mogę wyczyścić jego tekst, jeśli zostanie on anulowany na UIBarButtonItem
. Oto mój kod. Istnieje widok z elementami UIPickerView
, UIToolBar
i dwoma przyciskami paska. Pozycja anulowania ma działanie, które wyczyści jej tekst i nie będę w stanie uzyskać prawidłowej wersji UITextField
.Jak określić, które pole tekstowe jest aktywne?
Próbowałem to zarówno:
@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
}
I:
@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
}
Więc czy mogę użyć tego, a następnie w akcji UIBarButtonItem po prostu powiedz clearText (self.activeTextField)? – Suzukijak3
Tak, byłbyś w stanie to zrobić. – Randy
Ok Po prostu próbowałem i nie ma błędów, ale tekst nie jest ustawiony na zero. To jest mój kod, 'func textFieldDidBeginEditing (textField: UITextField) { self.activeTextfield = textField } @IBAction func cancelText (nadawca: AnyObject) { println ("akcja zwolniony") self.activeTextfield. text = nil self.pickerView.hidden = true } @IBAction func doneText (Sender: AnyObject) { pickerView.hidden = true } '' – Suzukijak3