Diga olá para o TRCurrencyTextField: Um componente com valor.

Um componente iOS para te ajudar a criar campos com formatação de moeda.

Imagem de capa

Está vivo.

Imagem de um médico maluco gritando Está Vivo!

Depois de alguns dias codando e testando essa belezinha, eu finalmente posso dizer: valeu a pena. Se você está procurando por um componente como um campo de texto onde você pode apertar um dígito e magicamente formatá-lo para QUALQUER moeda do mundo, você pode deixar cair seu queixo agora. Você-o-encontrou.

Graças ao Peter Boni, cujo trabalho me inspirou a fazer isso, eu posso apresentar a vocês, o TRCurrencyTextField.

TRCurrencyTextField é um componente de código aberto facilmente encontrado no GitHub, e facilmente utilizável com CocoaPods.

O que isso faz? Eu posso explicar… ou melhor, eu posso mostrar pra você em 12 passos. Aqui. E agora. Bora começar.

1. Valor vazio formatado para zero

Os exemplos aqui estão todos em BRL, ou seja, em reais. Porém, se você segurar as pontas aí por mais uns minutos eu te digo como vamos mudar isso.

Imagem de um iPhone exibindo o exemplo

Então, nós começamos aqui, no zero. Como você pode ver, esse é o valor quando não temos nenhum valor. O queee? Exatamente. O componente não deixa você apagar o texto.

Rossener, mas eu quero apagar o texto ou meu iPhone vai explodir em mil pedaços.

Espero que você tenha uma vassoura meu amigo.

2. Dígitos vêm da direita

Você aperta a tecla 1 no teclado numérico, o texto muda pra R$ 0,01

Imagem de um iPhone exibindo o exemplo

3. E continuam vindo da direita

Então você aperta a tecla 2 no teclado numérico e o texto vira R$ 0,12

Imagem de um iPhone exibindo o exemplo

4. Você não precisa apertar a “vírgula”

Você aperta a tecla 3 no teclado numérico e o texto muda pra R$ 1,23

Em reais, vírgula é o separador de decimal, e nós não precisamos apertar ela. Acredite em mim, ela já aparece lá.

Imagem de um iPhone exibindo o exemplo

5. Você não precisa apertar o “ponto”

Como ponto é o separador de grupo em reais, quando você aperta 1-2-3-4-5-6, nós temos R$ 1.234,56

Imagem de um iPhone exibindo o exemplo

6. Deletar-desloca-dígitos

Você deleta. Essa coisa desloca.

Imagem de um iPhone exibindo o exemplo

7. Edite de qualquer lugar

“Rossener, eu não quero reiniciar a minha vida pra corrigir um único erro.”

Você tem certeza? Bem, você não precisa.

Você coloca o cursor depois do 1 e aperta Deletar, nós temos R$ 23,45

Imagem de um iPhone exibindo o exemplo

8. Cole de qualquer lugar

Você é um cara preguiçoso e quer colar um valor da sua app de calculadora? Você pode.

Imagem de um iPhone exibindo o exemplo

Cole 1000 de qualquer lugar, ele vira R$ 1.000,00

Imagem de um iPhone exibindo o exemplo

9. Mude a moeda. Mude o formato.

“Finalmente, não aguento mais ver tudo em reais.”

Vamos mudar isso.

Imagem de um iPhone exibindo o exemplo

Imagem de um iPhone exibindo o exemplo

Imagem de um iPhone exibindo o exemplo

10. Como também, o País

“Eu não conheço o código da minha moeda.”

Você deveria. Mas, nós podemos cuidar disso.

Imagem de um iPhone exibindo o exemplo

Imagem de um iPhone exibindo o exemplo

Imagem de um iPhone exibindo o exemplo

11. Como também, o Locale

Algumas vezes você tem um país ou uma moeda que possui mais de um único Locale, e dependendo do Locale, os símbolos são diferentes… bom, problema resolvido.

Imagem de um iPhone exibindo o exemplo

Imagem de um iPhone exibindo o exemplo

Imagem de um iPhone exibindo o exemplo

Imagem de um iPhone exibindo o exemplo

12. Finalmente, o Valor

“Rossener, você está mandando muito bem, tá tudo ótimo, esse componente vai salvar minha vida e meu casamento. MAS, e o valor?”

Meu caro amigo, eu deixei o melhor para o final. Uma vez que você atribuiu alguma coisa ao componente, você pode fazer qualquer coisa que quiser. É como o milagre dos 5 pães e 2 peixes. Com poucas coisas, você pode conseguir muitas coisas.

Deixa eu explicar.

Uma vez que você mudou a moeda para USD, você pode pegar do componente, não um, mas TODOS os países que usam essa moeda, como também pode pegar o texto mostrado pelo componente na tela e aquela coisa que você mais quer: o valor numérico.

Imagem de um iPhone exibindo o exemplo

Imagem de um iPhone exibindo o exemplo

Além de tudo isso, você pode também, se você quer o espaço em branco próximo do símbolo da moeda e o número máximo de dígitos que você quer deixar seu usuário digitar.

TRCurrencyTextField é um componente aberto. Você pode enviar pull requests pra ele. Você pode forkar ele. Você pode amar ele. Vamos fazer ele melhor juntos.

Dúvidas? Comentários? Hi-fives? Por favor, deixe eles aqui. Estou ansioso pra saber sua opinião.

PS: Você saber detalhes sobre o uso, instalação e outras coisas no GitHub.