
Una subclase totalmente personalizable del UIControl nativo que le permite crear hermosos botones sin escribir ninguna línea de código.
Podrá crear botones como estos utilizando solo la interfaz Builder:

Además, puede usarlos para operaciones asincrónicas.

Para integrar LGButton en su proyecto Xcode con CocoAPods, especifíquelo en su Podfile :
use_frameworks!
pod 'LGButton' Puede agregar imágenes/iconos a su botón, los iconos se toman de diferentes colecciones de iconos de fuentes listas para usar, las imágenes se pueden importar directamente desde la carpeta de activos de su proyecto.
Puede personalizar iconos/imágenes a la izquierda y/o a la derecha del título del botón.
Los íconos se administran mediante la integración SwifticonFont, por lo que puede agregar y personalizar fácilmente los íconos de botones eligiendo entre las colecciones de iconos de fuentes más populares. En particular:
| Recopilación | Nombre de fuente | Hoja de trucos |
|---|---|---|
| Fuente impresionante | fa | Lista |
| Íconos de iones | IO | Lista |
| Octicones | jefe | Lista |
| Abierto icónico | beer | Lista |
| Icono de material | mamá | Lista |
| Girar | Ti | Lista |
| Íconos de mapa | mi | Lista |
Las propiedades principales que necesita establecer para usar iconos de fuentes son:
Nombre de fuente de iconos : puede elegir un valor de la tabla anterior, se ignorarán diferentes valores (considere que no todos los iconos pueden estar disponibles ya que esta biblioteca puede no actualizarse justo después de una actualización de la biblioteca de fuentes).
Cadena de icono : el nombre del icono tomado de la hoja de trucos sin el prefijo de la colección.
Entonces, si desea usar fa-align-left de Font Awesome , el nombre de la fuente de iconos será fa y la cadena de iconos estará align-left .
Establezca la propiedad fuente de la imagen para usar una imagen de su carpeta de activos.
Nota: Si se establece la fuente de imagen , se ignorará cualquier otra propiedad sobre el icono de fuente en el mismo lado.
Arrastre y suelte un objeto UIView en su controlador de vista y configure su clase y módulo en LGButton .

Personalice su botón configurando las propiedades del generador de interfaz.


| Atributo | Descripción | Valor predeterminado |
|---|---|---|
| Color BG | Color de fondo principal | claro |
| Mostrar retroalimentación táctil | Si la retroalimentación táctil debe ser visible o no | verdadero |
| Color de inicio de gradiente | El primer color del fondo de gradiente | nulo |
| Color final de gradiente | El segundo color del fondo de gradiente | nulo |
| Color final de gradiente | El segundo color del fondo de gradiente | nulo |
| Gradiente horizontal | Si el gradiente debe ser horizontal o no | FALSO |
| Rotación de gradiente | Establezca el ángulo de rotación de gradiente (grados de -360 a 360) | 0 |
| Radio de la esquina | El radio de la esquina | 0.0 |
| Esquinas completamente redondeadas | Aplicar un radio de esquina es igual a la altura/2 | FALSO |
| Color de borde | El color del borde | blanco |
| Ancho fronterizo | El ancho de la frontera | 0.0 |
| Color de título | El color del título | blanco |
| Cadena de título | La cadena de título | Vacía_string |
| Título Nombre de fuente | El nombre de la fuente del título | nulo |
| Título Tamaño de fuente | El tamaño del título de fuente | 14.0 |
| Orientación vertical | Si es true el icono izquierdo se colocará en la parte superior y el icono derecho se colocará en la parte inferior | FALSO |
| Cadena de icono izquierdo | El nombre del ícono de la izquierda (tomado de la hoja de trucos) | Vacía_string |
| Nombre de fuente del icono izquierdo | El nombre del nombre del icono izquierdo (tomado de la tabla de arriba) | Vacía_string |
| Tamaño de fuente de icono izquierdo | El tamaño de fuente del icono izquierdo | 14.0 |
| Color icono izquierdo | El color del icono izquierdo | blanco |
| Imagen izquierda src | El nombre del activo de origen izquierdo | nulo |
| Altura de la imagen izquierda | La altura de la imagen izquierda | 20.0 |
| Ancho de imagen izquierdo | El ancho de la imagen izquierda | 20.0 |
| Color de la imagen izquierda | El color de la imagen de la imagen izquierda | nulo |
| Cadena de icono correcto | El nombre del icono correcto (tomado de la hoja de trucos) | Vacía_string |
| Nombre de fuente de icono correcto | El nombre del nombre de fuente de icono correcto (tomado de la tabla de arriba) | Vacía_string |
| Tamaño de fuente de icono correcto | El tamaño de fuente de icono correcto | 14.0 |
| Color de icono correcto | El color de icono correcto | blanco |
| Imagen correcta src | El nombre del activo de origen correcto | nulo |
| Altura de la imagen correcta | La altura de la imagen correcta | 20.0 |
| Ancho de imagen correcto | El ancho de la imagen correcto | 20.0 |
| Color de imagen correcto | El color de tinte de imagen correcto | nulo |
| Icono de título espaciado | El espacio entre el título y la imagen/icono | 16.0 |
| Espaciado | El espacio superior interno | 8.0 |
| Espaciado de fondo | El espacio interno de fondo | 8.0 |
| Lideración de espaciado | El espacio interno principal | 16.0 |
| Espacio de arrastre | El espacio interno | 16.0 |
| Desplazamiento de la sombra | El desplazamiento de la sombra | (0,0) |
| Radio de la sombra | El radio de la sombra | 0.0 |
| Opacidad de la sombra | La opacidad de la sombra | 1.0 |
| Color de la sombra | El color de la sombra | negro |
| Cargando color rpelante | El color de la ruleta de carga | blanco |
| Cadena de carga | El texto del mensaje de carga | Vacía_string |
| Nombre de fuente de carga | El nombre de la fuente del mensaje de carga | Vacía_string |
| Tamaño de fuente de carga | El tamaño de fuente de mensaje de carga | 14.0 |
| Izquierda alineada | true si los elementos del botón deben alinearse a la izquierda. Requiere el botón para tener un ancho fijo | FALSO |
| Derecha alineada | true si los elementos del botón deben alinearse a la derecha. Requiere el botón para tener un ancho fijo | FALSO |
Puede descargar el proyecto de demostración si desea verificar más.
No dude en enviar problemas y solicitudes de características.
Las contribuciones son más bienvenidas. Su contribución puede incluir la corrección de errores o/y nuevas funciones.
Siga el flujo de trabajo Git "Fork-and-Pull" (consulte aquí para obtener más).
Nota: ¡Asegúrese de fusionar lo último de "Upstream" antes de hacer una solicitud de extracción!
Lorenzo Greco
El proyecto SwifTiconFont se utiliza para proporcionar iconos listos 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.