
Uma subclasse totalmente personalizável do UIControl nativo, que permite criar botões bonitos sem escrever nenhuma linha de código.
Você poderá criar botões como esses usando apenas o construtor de interface:

Além disso, você pode usá -los para operações assíncronas.

Para integrar o LGButton ao seu projeto Xcode usando o Cocoapods, especifique -o no seu Podfile :
use_frameworks!
pod 'LGButton' Você pode adicionar imagens/ícones ao seu botão, os ícones são retirados de diferentes coleções de ícones de fontes prontas para usar, as imagens podem ser importadas diretamente da pasta de ativos do projeto.
Você pode personalizar ícones/imagens à esquerda e/ou à direita do título do botão.
Os ícones são gerenciados pela integração SwifticonFont, para que você possa adicionar e personalizar facilmente os ícones de botões escolhendo entre as coleções de ícones de fonte mais populares. Em particular:
| Coleção | Nome da fonte | Folha de dicas |
|---|---|---|
| Fonte incrível | fa | Lista |
| Ícones de íons | io | Lista |
| Octicons | oc | Lista |
| Aberto icônico | ic | Lista |
| Ícone de material | MA | Lista |
| Themify | ti | Lista |
| Ícones do mapa | mi | Lista |
As principais propriedades que você precisa definir para usar os ícones da fonte são:
Nome da fonte do ícone : Você pode escolher um valor na tabela acima, valores diferentes serão ignorados (considere que nem todos os ícones podem estar disponíveis, pois esta biblioteca não pode ser atualizada logo após uma atualização da biblioteca de fontes).
String de ícone : o nome do ícone retirado da folha de truques sem o prefixo da coleção.
Portanto, se você quiser usar fa-align-left da Font Awesome , o nome da fonte do ícone será fa e a string de ícone será align-left .
Defina a propriedade de origem da imagem para usar uma imagem da pasta de ativos.
Nota: Se a fonte da imagem estiver definida, todas as outras propriedades sobre o ícone da fonte do mesmo lado serão ignoradas.
Arraste e solte um objeto UIView no seu controlador de exibição e defina sua classe e módulo como LGButton .

Personalize seu botão definindo as propriedades no interface Builder.


| Atributo | Descrição | Valor padrão |
|---|---|---|
| BG Color | Cor de fundo principal | claro |
| Mostre feedback do toque | Se um feedback de toque deve ser visível ou não | verdadeiro |
| Gradiente Start Color | A primeira cor do fundo do gradiente | nil |
| Cor final gradiente | A segunda cor do fundo do gradiente | nil |
| Cor final gradiente | A segunda cor do fundo do gradiente | nil |
| Gradiente Horizontal | Se o gradiente deve ser horizontal ou não | falso |
| Rotação de gradiente | Defina o ângulo de rotação do gradiente (graus de -360 a 360) | 0 |
| Raio de canto | O raio do canto | 0,0 |
| Cantos totalmente arredondados | Aplique um raio de canto igual à altura/2 | falso |
| Cor da borda | A cor da borda | branco |
| Largura da fronteira | A largura da fronteira | 0,0 |
| Cor do título | A cor do título | branco |
| String de título | A sequência do título | Vazio_string |
| Nome da fonte do título | O nome da fonte do título | nil |
| Tamanho da fonte do título | O tamanho da fonte do título | 14.0 |
| Orientação vertical | Se true o ícone esquerdo será colocado na parte superior e o ícone direito será colocado no fundo | falso |
| String de ícone esquerdo | O nome do ícone esquerdo (retirado da folha de dicas) | Vazio_string |
| Nome da fonte do ícone esquerdo | O nome do nome da fonte do ícone esquerdo (retirado da tabela acima) | Vazio_string |
| Tamanho da fonte do ícone esquerdo | O tamanho da fonte do ícone esquerdo | 14.0 |
| Cor do ícone esquerdo | A cor do ícone esquerdo | branco |
| Imagem esquerda src | O nome do ativo da fonte esquerda | nil |
| Altura da imagem esquerda | A altura da imagem esquerda | 20.0 |
| Largura da imagem esquerda | A largura da imagem esquerda | 20.0 |
| Cor da imagem esquerda | A cor da imagem esquerda cor | nil |
| String do ícone direito | O nome do ícone certo (retirado da folha de dicas) | Vazio_string |
| Nome da fonte do ícone direito | O nome do nome da fonte do ícone direito (retirado da tabela acima) | Vazio_string |
| Tamanho da fonte do ícone direito | O tamanho da fonte do ícone certo | 14.0 |
| Cor da direita da cor do ícone | A cor do ícone certo | branco |
| Imagem direita src | O nome do ativo da fonte direita | nil |
| Altura da imagem direita | A altura da imagem certa | 20.0 |
| Largura da imagem direita | A largura da imagem certa | 20.0 |
| Cor da imagem direita | A cor da imagem certa | nil |
| Ícone do título de espaçamento | O espaçamento entre o título e a imagem/ícone | 16.0 |
| Top de espaçamento | O espaçamento superior interno | 8.0 |
| Spacacing Bottom | O espaçamento inferior interno | 8.0 |
| Espaçamento liderando | O espaçamento principal interno | 16.0 |
| Espaçamento à direita | O espaçamento interno à direita | 16.0 |
| Deslocamento da sombra | O deslocamento da sombra | (0,0) |
| Raio da sombra | O raio da sombra | 0,0 |
| Opacidade das sombras | A opacidade das sombras | 1.0 |
| Cor da sombra | A cor da sombra | preto |
| Carregando a cor do girador | A cor do girador de carregamento | branco |
| Carregando string | O texto da mensagem de carregamento | Vazio_string |
| Carregando o nome da fonte | O nome da fonte da mensagem de carregamento | Vazio_string |
| Carregando o tamanho da fonte | O tamanho da fonte da mensagem de carregamento | 14.0 |
| Deixado alinhado | true se os itens do botão devem estar alinhados à esquerda. Requer que o botão tenha uma largura fixa | falso |
| Direito alinhado | true se os itens do botão devem estar alinhados à direita. Requer que o botão tenha uma largura fixa | falso |
Você pode baixar o projeto de demonstração se quiser verificar mais.
Sinta -se à vontade para enviar questões e solicitações de recursos.
As contribuições são mais do que as boas -vindas. Sua contribuição pode incluir a correção de bugs ou/e novos recursos.
Siga o fluxo de trabalho Git "Fork-and-Pull" (verifique aqui mais).
Nota: Certifique -se de mesclar as últimas novidades de "Upstream" antes de fazer uma solicitação de tração!
Lorenzo Greco
O projeto SwifticonFont é usado para fornecer ícones prontos para usar.
MIT License
Copyright (c) 2017 Lorenzo Greco
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.