Puoi falsificare un UITextField usando UITextView. Il problema che avrai è che perdi la funzionalità di segnaposto.
Se scegli di utilizzare un UITextView e hai bisogno del segnaposto, procedi come segue:
A tuo avvisoDidLoad imposta il colore e il testo sui segnaposto:
myTxtView.textColor = .lightGray
myTxtView.text = "Type your thoughts here..."
Quindi fai scomparire il segnaposto quando UITextView è selezionato:
func textViewDidBeginEditing (textView: UITextView) {
if myTxtView.textColor.textColor == ph_TextColor && myTxtView.isFirstResponder() {
myTxtView.text = nil
myTxtView.textColor = .white
}
}
Quando l'utente termina la modifica, assicurarsi che ci sia un valore. In caso contrario, aggiungi di nuovo il segnaposto:
func textViewDidEndEditing (textView: UITextView) {
if myTxtView.text.isEmpty || myTxtView.text == "" {
myTxtView.textColor = .lightGray
myTxtView.text = "Type your thoughts here..."
}
}
Altre funzionalità che potresti dover falsificare:
UITextField spesso capitalizza ogni lettera, puoi aggiungere quella funzione a UITableView:
myTxtView.autocapitalizationType = .words
Di solito gli UITextField non scorrono:
myTxtView.scrollEnabled = false