Nota: esto no pareció funcionar para mí (¿quizás porque estoy en Swift 3.1?). Sin embargo, la versión de Paras Joshi ( stackoverflow.com/a/29701061/225813 ) funcionó
Ashley Coolman
Edité mi respuesta. seguro que funcionará para usted .. Ashley Coolman
Shashi Verma
1
No es necesario llamar a init explícitamente en swift 3.
ibrahimab
¿Es posible utilizar más de un color?
Gökhan Çokkeçeci
3
¿Hay alguna diferencia entre sus dos versiones?
Fogmeister
88
En Swift 4 puede establecer el color y el ancho del borde en UIControls usando el siguiente código.
@ShashiVerma de nada. Para obtener más detalles sobre las capas, lea los documentos de referencia de clases de los diferentes objetos de Apple, por lo que también es útil para usted :)
Paras Joshi
16
Utilice @IBDesignable y @IBInspectable para hacer lo mismo.
Son reutilizables, fácilmente modificables desde Interface Builder y los cambios se reflejan inmediatamente en el Storyboard.
Adapte los objetos del guión gráfico a la clase en particular.
Me gusta más esta solución ya que es reutilizable en la que configuramos UIView en la vista personalizada pero aún deja espacio para más cambios.
n0rm
Esta era mi forma favorita de lograrlo, pero con el modo oscuro, realmente no funciona bien. Obtiene el estilo de color de MacOS actual y usa static. Pero incorporarlo @IBDesignabley @IBInspectabletodo funciona bien, por lo que debería haber una forma para que las aduanas usen Color Assets con el modo oscuro / claro también ~ ¿alguien sabe cómo se puede lograr?
Desarrollador Nomad
12
Puede escribir una extensión para usarla con todas las UIViews, por ejemplo. UIButton, UILabel, UIImageView, etc. Puede personalizar mi siguiente método según sus necesidades, pero creo que funcionará bien para usted.
De alguna manera, no hace nada a menos que también establezca explícitamente el ancho del borde.
Nicolas Miari
@NicolasMiari eso sería de esperar ... no puede ver un color de borde para el que no ha establecido un tamaño.
Jono Guthrie
Lo siento, olvidé mencionar que me refería a campos de texto ... que parecen tener un ancho de borde predeterminado distinto de cero desde el principio. Sin embargo, luché para que se reflejara el color que configuré, hasta que establecí explícitamente el ancho del borde.
En lugar de agregar una nueva respuesta, debe haber enviado una solicitud de edición al respondedor original
Rajan Maheshwari
@RajanMaheshwari Por favor, no. No agregue código a las respuestas de otras personas. Las actualizaciones deben publicarse como propias, no en otras respuestas. De esa manera, cada cartel es responsable de lo que publica ...
Eric Aya
@EricAya no se trata de actualizar la respuesta. Es una solicitud de edición, puede estar en los comentarios del respondedor. ¿Entendiste lo que estaba tratando de transmitir?
Respuestas:
Si usa Swift 2.0+
fuente
En Swift 4 puede establecer el color y el ancho del borde en UIControls usando el siguiente código.
<Swift 4 , puede establecer el ancho del borde de UIView y el color del borde usando el siguiente código.
fuente
Utilice @IBDesignable y @IBInspectable para hacer lo mismo.
Son reutilizables, fácilmente modificables desde Interface Builder y los cambios se reflejan inmediatamente en el Storyboard.
Adapte los objetos del guión gráfico a la clase en particular.
Fragmento de código:
Permite una fácil modificación desde Interface Builder:
fuente
@IBDesignable
y@IBInspectable
todo funciona bien, por lo que debería haber una forma para que las aduanas usen Color Assets con el modo oscuro / claro también ~ ¿alguien sabe cómo se puede lograr?Puede escribir una extensión para usarla con todas las UIViews, por ejemplo. UIButton, UILabel, UIImageView, etc. Puede personalizar mi siguiente método según sus necesidades, pero creo que funcionará bien para usted.
Uso:
fuente
rápido 3
fuente
Swift 5.2 , extensión UIView +
Usaste esta extensión;
fuente
Escriba el código en su
viewDidLoad()
Y puedes configurar
Color
conRGB
Aprenda algo sobre
CALayer
enUIKit
fuente
rápido 3.0
fuente
Podemos crear un método para ello. Simplemente utilícelo.
fuente
Swift 3.0
fuente