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
ios
uitextfield
CodeGuy
fonte
fonte
Respostas:
Usar
textField.autocapitalizationType = UITextAutocapitalizationTypeWords;
Para obter mais informações, leia: Referência do protocolo UITextInputTraits
fonte
O que queremos fazer é definir o campo de texto
autocapitalizationType
.Objective-C:
Rápido:
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.
fonte
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:fonte
Sim. Em InterfaceBuilder, no inspetor de atributo textField, você pode configurar a propriedade Capitalization para Words.
fonte
Há uma resposta para Obj-C, estou aqui para Swift;
ou caminho mais curto
fonte
Você pode até mesmo fazer isso no arquivo Storyboard ou .xib. Basta selecionar o campo de texto e no inspetor de atributos à direita há uma seção de Capitalização onde você pode escolher o que mais lhe convier. No seu caso, é a capitalização "Palavras".
fonte
Em Xamarin.ios / Monotouch isso funcionou para mim:
fonte