Vous pouvez simuler un UITextField en utilisant UITextView. Le problème que vous aurez, c'est que vous perdez la fonctionnalité d'espace réservé.
Si vous choisissez d'utiliser un UITextView et avez besoin de l'espace réservé, procédez comme suit:
Dans votre viewDidLoad, définissez la couleur et le texte sur des espaces réservés:
myTxtView.textColor = .lightGray
myTxtView.text = "Type your thoughts here..."
Faites ensuite disparaître l'espace réservé lorsque votre UITextView est sélectionné:
func textViewDidBeginEditing (textView: UITextView) {
if myTxtView.textColor.textColor == ph_TextColor && myTxtView.isFirstResponder() {
myTxtView.text = nil
myTxtView.textColor = .white
}
}
Lorsque l'utilisateur a terminé la modification, assurez-vous qu'il existe une valeur. Si ce n'est pas le cas, ajoutez à nouveau l'espace réservé:
func textViewDidEndEditing (textView: UITextView) {
if myTxtView.text.isEmpty || myTxtView.text == "" {
myTxtView.textColor = .lightGray
myTxtView.text = "Type your thoughts here..."
}
}
Autres fonctionnalités que vous pourriez avoir besoin de simuler:
UITextField capitalise souvent chaque lettre, vous pouvez ajouter cette fonctionnalité à UITableView:
myTxtView.autocapitalizationType = .words
Les UITextField ne défilent généralement pas:
myTxtView.scrollEnabled = false