Comment déterminer quel textfield est actif swift
Je ne peux pas comprendre ce qui UITextField
est actuellement actif donc je peux clairement de son texte, si ils ont frappé annuler sur un UIBarButtonItem
. Voici mon code. Il y a une vue avec un UIPickerView
,UIToolBar
et deux bouton de la barre d'objets. L'annulation de l'élément a une action qui sera clairement de son texte seulement, je ne peux pas comprendre comment obtenir le bon UITextField
.
J'ai essayé ces deux:
@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
}
Et:
@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
}
source d'informationauteur Suzukijak3
Vous devez vous connecter pour publier un commentaire.
Vous pouvez déclarer une
UITextField
propriété dans votre classe, et d'affecter le champ texte courant danstextFieldDidBeginEditing
.Ensuite, vous pouvez simplement appeler ce champ de texte à chaque fois que vous en avez besoin.
Dans swift 4:
vous pouvez obtenir de l'actif UITextField comme ça
et puis vous l'appeler comme ça
Utiliser le délégué:
Cela vous indiquera lorsque l'actif textfield finitions d'édition, et
textField
contiendra un pointeur vers celui qui ne va plus être active.J'ai écrit une bibliothèque pour gérer Forme de base de la Création de Swift Pop Forme.
Il n'utilise pas
tags
mais établit plutôt une source de données qui contient les champs et utiliseindexPathForCell
de requête qui est active textfield. Découvrez le code source pour plus d'!Afin d'améliorer @Reimond la réponse de Swift 4
utilisation:
view.selectedTextField