Input-mask-ios: Símbolos fixos na máscara

Criado em 20 fev. 2017  ·  3Comentários  ·  Fonte: RedMadRobot/input-mask-ios

Será ótimo ter a habilidade de usar símbolos fixos.

Por exemplo, preciso da máscara para o número de telefone: +7 (111) 111-11-11
Então de acordo com a documentação posso criar máscara para este caso: +7 ([000]) [000] - [00] - [00]
E tudo bem. Mas preciso que o usuário não consiga apagar dois símbolos (+7). Portanto, toda vez que "+7" deve estar sempre visível no campo de texto.

enhancement question rejected

Comentários muito úteis

@TikhonovAlexander hey there. @razalur também pode estar interessado.

Obrigado por me lembrar sobre esta solicitação de recurso. Na verdade, tivemos uma breve conversa com dois evangelistas da Apple sobre ter um texto não editável dentro do campo de texto.

TL; DR: Não ofereceremos suporte a esse recurso.

Não viola o HIG diretamente, embora seja uma má ideia restringir o controle do usuário sobre o aplicativo e assumir a tomada de decisões. Os campos de texto nativo não se comportam assim, e o iOS SDK já tem um componente para um texto estático - um UILabel .

Você não pode desabilitar ou esmaecer um botão Backspace do teclado nativo, e símbolos não apagáveis ​​trarão confusão, já que o usuário final não será capaz de determinar se é um comportamento projetado ou um bug. "Por que exatamente meu botão Backspace não funciona?" - e você não pode dar uma dica clara.

De nossa perspectiva de design de biblioteca, é óbvio que o desenvolvedor pode colocar um símbolo "fixo" no meio da linha. Mas o que você espera que aconteça quando o usuário começar a deletar caracteres do início da linha?

Ainda mais perguntas surgem quando você decide incorporar um botão UITextField Limpar.
O método delegado correspondente -textFieldShouldClear() não permitirá que você limpe parcialmente o seu campo de texto, ele pretende apagar todo o texto. Substituir ou estender o comportamento do botão claro é uma decisão de design ambígua e, portanto, uma grande responsabilidade para nossa biblioteca, porque teremos que cobrir todos os casos de uso. Algumas pessoas (desenvolvedores e usuários ) irão querer que o botão nativo limpar apague todo o texto, alguém irá esperar que todos os símbolos "fixos" permaneçam após a limpeza, e outros irão assumir que apenas o prefixo "fixo" deve permanecer e "fixo" caracteres no meio da linha devem ser apagados.

A única coisa em que posso ajudá-lo é um conselho para pensar nos objetivos que você almeja alcançar.
Não lute contra o SDK, pois o SDK sempre vence.

Todos 3 comentários

Olá @razalur
Obrigado por sua sugestão. Voltarei com o feedback um pouco mais tarde nesta semana, fique ligado!

alguma atualização?

@TikhonovAlexander hey there. @razalur também pode estar interessado.

Obrigado por me lembrar sobre esta solicitação de recurso. Na verdade, tivemos uma breve conversa com dois evangelistas da Apple sobre ter um texto não editável dentro do campo de texto.

TL; DR: Não ofereceremos suporte a esse recurso.

Não viola o HIG diretamente, embora seja uma má ideia restringir o controle do usuário sobre o aplicativo e assumir a tomada de decisões. Os campos de texto nativo não se comportam assim, e o iOS SDK já tem um componente para um texto estático - um UILabel .

Você não pode desabilitar ou esmaecer um botão Backspace do teclado nativo, e símbolos não apagáveis ​​trarão confusão, já que o usuário final não será capaz de determinar se é um comportamento projetado ou um bug. "Por que exatamente meu botão Backspace não funciona?" - e você não pode dar uma dica clara.

De nossa perspectiva de design de biblioteca, é óbvio que o desenvolvedor pode colocar um símbolo "fixo" no meio da linha. Mas o que você espera que aconteça quando o usuário começar a deletar caracteres do início da linha?

Ainda mais perguntas surgem quando você decide incorporar um botão UITextField Limpar.
O método delegado correspondente -textFieldShouldClear() não permitirá que você limpe parcialmente o seu campo de texto, ele pretende apagar todo o texto. Substituir ou estender o comportamento do botão claro é uma decisão de design ambígua e, portanto, uma grande responsabilidade para nossa biblioteca, porque teremos que cobrir todos os casos de uso. Algumas pessoas (desenvolvedores e usuários ) irão querer que o botão nativo limpar apague todo o texto, alguém irá esperar que todos os símbolos "fixos" permaneçam após a limpeza, e outros irão assumir que apenas o prefixo "fixo" deve permanecer e "fixo" caracteres no meio da linha devem ser apagados.

A única coisa em que posso ajudá-lo é um conselho para pensar nos objetivos que você almeja alcançar.
Não lute contra o SDK, pois o SDK sempre vence.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

Robuske picture Robuske  ·  4Comentários

TikhonovAlexander picture TikhonovAlexander  ·  3Comentários

MrJox picture MrJox  ·  11Comentários

caioremedio picture caioremedio  ·  6Comentários

DamascenoRafael picture DamascenoRafael  ·  4Comentários