Você pode falsificar um UITextField usando o UITextView. O problema é que você perde a funcionalidade do espaço reservado.
Se você optar por usar um UITextView e precisar do espaço reservado, faça o seguinte:
Em seu viewDidLoad, defina a cor e o texto como espaços reservados:
myTxtView.textColor = .lightGray
myTxtView.text = "Type your thoughts here..."
Em seguida, faça o espaço reservado desaparecer quando seu UITextView estiver selecionado:
func textViewDidBeginEditing (textView: UITextView) {
if myTxtView.textColor.textColor == ph_TextColor && myTxtView.isFirstResponder() {
myTxtView.text = nil
myTxtView.textColor = .white
}
}
Quando o usuário terminar de editar, verifique se há um valor. Se não houver, adicione o espaço reservado novamente:
func textViewDidEndEditing (textView: UITextView) {
if myTxtView.text.isEmpty || myTxtView.text == "" {
myTxtView.textColor = .lightGray
myTxtView.text = "Type your thoughts here..."
}
}
Outros recursos que você pode precisar falsificar:
Geralmente, o UITextField coloca em maiúscula todas as letras; você pode adicionar esse recurso ao UITableView:
myTxtView.autocapitalizationType = .words
Normalmente, os UITextField's não rolam:
myTxtView.scrollEnabled = false