Eu realmente tenho um grande desejo de definir minha própria cor para a borda UITextField. Mas até agora pude descobrir como alterar apenas o estilo da linha de borda.
Eu usei a propriedade background para definir a cor de fundo da seguinte maneira:
self.textField.backgroundColor = textFieldColor;
Mas eu tenho que mudar a cor da borda UITextField também. E minha pergunta era sobre como alterar a cor da borda.
Respostas:
Importar
QuartzCore
estrutura na sua classe:e para alterar a cor da borda, use o seguinte snippet de código (estou definindo-o como redColor),
Para voltar ao layout original, basta definir a cor da borda para limpar a cor,
em código rápido
fonte
viewDidLoad
) e altera essas propriedades dizendoself.myTextField.layer.cornerRadius
etc. Essas alterações entrarão em vigor assim que você iniciar o aplicativo, mas não poderá ver as alterações no Storyboard. Se isso não faz sentido para você, sugiro que você vá a um site, por exemplo, Ray Wenderlich, e leia algumas dicas para iniciantes.Tente o seguinte:
e importe QuartzCore:
fonte
Importe a seguinte classe:
// Código para definir a cor cinza da borda do campo de texto
Substitua
171.0
pelo número da cor correspondente, conforme necessário.fonte
esta pergunta aparece bastante em uma pesquisa no Google e funcionou na maior parte do tempo! Descobri que a resposta de Salman Zaidi estava parcialmente correta para o iOS 7.
Você precisa fazer uma modificação no código "revertendo". Eu descobri que o seguinte para reverter funcionou perfeitamente:
Entendo que isso provavelmente ocorre devido a alterações no iOS 7.
fonte
Para simplificar essas ações a partir da resposta aceita, você também pode criar Categoria para
UIView
(pois isso funciona para todas as subclasses do UIView, não apenas para campos de texto:UIView + Additions.h:
UIView + Adições.m:
Uso:
fonte
Se você usar um TextField com cantos arredondados, use este código:
Para remover a borda:
fonte
Atualização para o swift 5.0
fonte
Cor da borda em qualquer visualização (ou na subclasse UIView) também pode ser definido usando o storyboard com um pouco de codificação e essa abordagem pode ser realmente útil se você estiver definindo a cor da borda em vários objetos da interface do usuário.
Abaixo estão as etapas de como alcançá-lo,
PS: Lembre-se, as categorias não podem ter propriedades armazenadas. 'borderUIColor' é usado como uma propriedade calculada, apenas como uma referência para atingir o que estamos focando.
Por favor, dê uma olhada no exemplo de código abaixo;
Objetivo C:
Arquivo de interface:
Arquivo de implementação:
Swift 2.0:
E, finalmente, vá para o seu storyboard / XIB, siga as etapas restantes;
Você deve definir o valor da propriedade layer.borderWidth como pelo menos 1 para ver a cor da borda.
Construa e execute. Feliz codificação. :)
fonte
Aqui está uma implementação do Swift. Você pode fazer uma extensão para que possa ser usada por outras visualizações, se desejar.
Chame esse como:
email.addBorderAndColor(color: UIColor.white, width: 0.5, corner_radius: 5, clipsToBounds: true)
.fonte