Estou criando um aplicativo usando o swift na versão mais recente do Xcode 6 e gostaria de saber como posso modificar meu botão para que ele tenha uma borda arredondada e que eu possa me ajustar, se necessário. Feito isso, como posso alterar a cor da borda sem adicionar um plano de fundo? Em outras palavras, quero um botão ligeiramente arredondado, sem fundo, apenas uma borda de 1 ponto de uma determinada cor.
232
titleEdgeInsets
.Para fazer este trabalho no storyboard (Interface Builder Inspector)
Com a ajuda de
IBDesignable
, podemos adicionar mais opções ao Interface Builder InspectorUIButton
e ajustá-las no storyboard. Primeiro, adicione o seguinte código ao seu projeto.Em seguida, basta definir os atributos dos botões no storyboard.
fonte
Eu criei uma sublcass UIButton simples que usa as
tintColor
cores de texto e borda e, quando destacada, altera o plano de fundo paratintColor
.Isso faz uso de uma extensão UIImage que cria uma imagem de uma cor. Encontrei o código aqui: https://stackoverflow.com/a/33675160
Funciona melhor quando definido para digitar Personalizado no construtor de interface, pois o tipo de sistema padrão modifica ligeiramente as cores quando o botão é destacado.
fonte
Esta classe é baseada em todos os comentários e sugestões nas respostas e também pode ser projetada diretamente no xcode. Copie para o seu projeto e insira qualquer UIButton e altere para usar a classe personalizada, agora basta selecionar a borda ou a cor de fundo do xcode para estados normais e / ou destacados.
fonte
Foundation
ao importarUIKit
realmente é suficiente?Com base na resposta do @returntrue, consegui implementá-lo no Interface Builder.
Para obter o botão de cantos arredondados usando o Interface Builder, adicione uma chave
Path = "layer.cornerRadius"
comType = "Number"
eValue = "10"
(ou outro valor conforme necessário) no "User Defined RunTime Attribute
" doIdentity Inspector
botão.fonte
Você pode usar esta subclasse de UIButton para personalizar o UIButton conforme suas necessidades.
visite este repositório do github para referência
fonte
Eu acho que a maneira mais fácil e limpa de usar o protocolo é evitar a herança e a repetição de código. Você pode alterar essas propriedades diretamente do storyboard
Atualizar
Neste link, você pode encontrar um exemplo com o utilitário do protocolo Rastreável
fonte
fonte
como dica à parte, certifique-se de que seu botão não seja subclasse de nenhuma classe personalizada no storyboard; nesse caso, o melhor lugar para seu código deve estar na classe personalizada, pois o código funciona apenas fora da classe personalizada se o botão for subclasse do padrão Classe UIButton e saída, espero que isso ajude alguém a se perguntar por que os rádios de canto não se aplicam ao meu botão do código.
fonte
...
Eu acho que por raio apenas este parâmetro:
fonte
Experimente esta borda de botão com cantos arredondados
fonte
fonte
Você pode criar subclasses
UIButton
e adicionar@IBInspectable
variáveis a ele para poder configurar os parâmetros do botão personalizado através do StoryBoard "Attribute Inspector". Abaixo, escrevo esse código.fonte
Eu acho que essa é a forma simples
fonte