Se você está procurando substituir o teclado por um, digamos, UIPicker
como inputView
(com uma barra de ferramentas como um inputAccesotyView
), então esta solução alternativa pode ajudar ...
- Implemento
textFieldShouldBeginEditing:
- colocar dentro
textField.userInteractionEnabled = NO;
- Em seguida, quando estiver prestes a fechar o
UIPickerView
, defina-o como SIM.
Ao fazer isso, você seria capaz de tocar em UITextField
e mostrar as opções para escolher UIPickerView
, neste momento você UITextField
, de fato, não reagiria a qualquer evento de toque (isso inclui tocar e segurar para cortar, copiar e colar). No entanto, você deve se lembrar de defini-lo de volta para SIM quando estiver fechando o seu, UIPickerView
mas não será possível acessar o UIPickerView
novamente.
O único momento em que falha é quando o usuário começa tocando e segurando o botão UITextView
, então você verá cortar, copiar e colar novamente pela primeira vez. É por isso que você deve sempre validar suas entradas. É o mais fácil que consigo pensar. A outra opção era usar um UILabel
para texto somente leitura, mas você perde muitas funcionalidades do UITextView
.