Existe uma maneira de definir o autocapitalizationType para a UITextField
para que a primeira letra de cada palavra seja maiúscula por padrão?
Este é um exemplo do que eu quero
Existe uma maneira de definir o autocapitalizationType para a UITextField
para que a primeira letra de cada palavra seja maiúscula por padrão?
Este é um exemplo do que eu quero
Respostas:
Usar
textField.autocapitalizationType = UITextAutocapitalizationTypeWords;
Para obter mais informações, leia: Referência do protocolo UITextInputTraits
O que queremos fazer é definir o campo de texto autocapitalizationType
.
self.textfield.autocapitalizationType = UITextAutocapitalizationTypeWords
self.textfield.autocapitalizationType = .words
Existem algumas opções aqui:
allCharacters
é o mesmo que tocar duas vezes na tecla shift, basicamente capslock.none
é bastante autoexplicativo, o teclado nunca tentará colocar letras maiúsculas.sentences
tentará colocar a próxima palavra em maiúscula após uma pontuação de marca de fim.words
tentará colocar cada palavra nova em maiúscula (após um espaço), que parece ser exatamente o que você está procurando.Esta propriedade também pode ser definida no Inspetor de Atributos do construtor de interface quando você seleciona o campo de texto apropriado:
“Capitalização” é a primeira opção desse grupo, bastando para isso escolher o tamanho mínimo da fonte para o campo de texto.
Definir a capitalization
propriedade como "Palavras" sugerirá que o usuário insira palavras em maiúsculas. Isso pode ser anulado pelo usuário, removendo a mudança no teclado. A melhor coisa a fazer é capitalizar as palavras no código:
NSString *text = [myTextField.text capitalizedString];
Há uma resposta para Obj-C, estou aqui para Swift;
textField.autocapitalizationType = UITextAutocapitalizationType.words
ou caminho mais curto
textField.autocapitalizationType = .words
Em Xamarin.ios / Monotouch isso funcionou para mim:
textField.AutocapitalizationType = UITextAutocapitalizationType.Words;