Estoy creando una aplicación usando swift en la última versión de Xcode 6, y me gustaría saber cómo puedo modificar mi botón para que pueda tener un borde redondeado que pueda ajustar yo mismo si es necesario. Una vez hecho esto, ¿cómo puedo cambiar el color del borde sin agregarle un fondo? En otras palabras, quiero un botón ligeramente redondeado sin fondo, solo un borde de 1pt de cierto color.
232
titleEdgeInsets
.Para hacer este trabajo en storyboard (Inspector del generador de interfaces)
Con la ayuda de
IBDesignable
, podemos agregar más opciones a Interface Builder InspectorUIButton
y ajustarlas en el guión gráfico. Primero, agregue el siguiente código a su proyecto.Luego, simplemente configure los atributos para los botones en el guión gráfico.
fuente
He creado una subclase simple UIButton que usa el
tintColor
texto y los colores de los bordes y, cuando está resaltado, cambia su fondo atintColor
.Esto hace uso de una extensión UIImage que crea una imagen a partir de un color. Encontré ese código aquí: https://stackoverflow.com/a/33675160
Funciona mejor cuando se configura para escribir Personalizado en el generador de interfaces, ya que el tipo de sistema predeterminado modifica ligeramente los colores cuando se resalta el botón.
fuente
Esta clase se basa en todos los comentarios y sugerencias en las respuestas, y también se puede designar directamente desde xcode. Copie a su proyecto e inserte cualquier UIButton y cambie para usar una clase personalizada, ahora solo seleccione el color del borde o del fondo de xcode para los estados normales y / o resaltados.
fuente
Foundation
cuando importar esUIKit
realmente suficiente?Basado en la respuesta @returntrue, logré implementarlo en Interface Builder.
Para obtener el botón de esquinas redondeadas con Interface Builder, agregue una Clave
Path = "layer.cornerRadius"
conType = "Number"
yValue = "10"
(u otro valor según sea necesario) en el "User Defined RunTime Attribute
" delIdentity Inspector
botón.fuente
Puede usar esta subclase de UIButton para personalizar UIButton según sus necesidades.
visite este repositorio de github para referencia
fuente
Creo que la forma más fácil y limpia es utilizar el protocolo para evitar la repetición de la herencia y el código. Puede cambiar estas propiedades directamente desde el guión gráfico
Actualizar
En este enlace puede encontrar un ejemplo con la utilidad del protocolo Trazable
fuente
fuente
como consejo adicional, asegúrese de que su botón no sea una subclase de ninguna clase personalizada en el guión gráfico, en tal caso, el mejor lugar de su código debe estar en la clase personalizada, ya que el código funciona solo fuera de la clase personalizada si su botón es una subclase del valor predeterminado UIButton clase y salida de la misma, espero que esto pueda ayudar a alguien se pregunta por qué las radios de esquina no se aplican en mi botón del código.
fuente
...
Creo que para el radio lo suficiente este parámetro:
fuente
PRUEBE ESTE borde del botón con esquinas redondeadas
fuente
fuente
Puede subclasificar
UIButton
y agregarle@IBInspectable
variables para que pueda configurar los parámetros del botón personalizado a través del "Inspector de atributos" de StoryBoard. A continuación escribo ese código.fuente
Creo que esta es la forma simple.
fuente