para descargar curso apple ios swift

ios - descargar - ¿Cómo establecer el color del borde personalizado de UIView mediante programación?



swift download (10)

En Swift 4 , puede establecer el color y el ancho del borde en UIControls utilizando el siguiente código.

let yourColor : UIColor = UIColor( red: 0.7, green: 0.3, blue:0.1, alpha: 1.0 ) yourControl.layer.masksToBounds = true yourControl.layer.borderColor = yourColor.CGColor yourControl.layer.borderWidth = 1.0

<Swift 4 , puede establecer el ancho y el color del borde de UIView usando el código siguiente.

yourView.layer.borderWidth = 1 yourView.layer.borderColor = UIColor.red.cgColor

Estoy tratando de establecer el color del borde personalizado de UIView mediante programación en Swift.


Escriba el código en su viewDidLoad()

self.view.layer.borderColor = anyColor().CGColor

Y puedes configurar el Color con RGB

func anyColor() -> UIColor { return UIColor(red: 0.0/255.0, green: 0.0/255.0, blue: 0.0/255.0, alpha: 1.0) }

Aprende algo sobre CALayer en UIKit


Podemos crear un método para ello. Simplemente úsalo.

public func createBorderForView(color: UIColor, radius: CGFloat, width: CGFloat = 0.7) { self.layer.borderWidth = width self.layer.cornerRadius = radius self.layer.shouldRasterize = false self.layer.rasterizationScale = 2 self.clipsToBounds = true self.layer.masksToBounds = true let cgColor: CGColor = color.cgColor self.layer.borderColor = cgColor }


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 requisitos, pero creo que funcionará bien para usted.

extension UIView{ func setBorder(radius:CGFloat, color:UIColor = UIColor.clearColor()) -> UIView{ var roundView:UIView = self roundView.layer.cornerRadius = CGFloat(radius) roundView.layer.borderWidth = 1 roundView.layer.borderColor = color.CGColor roundView.clipsToBounds = true return roundView } }

Uso:

btnLogin.setBorder(7, color: UIColor.lightGrayColor()) imgViewUserPick.setBorder(10)


Swift 3.0

groundTrump.layer.borderColor = UIColor.red.cgColor


Use @IBDesignable y @IBInspectable para hacer lo mismo.

Son reutilizables, fácilmente modificables desde el Creador de interfaces y los cambios se reflejan inmediatamente en el Guión gráfico

Conformar los objetos en el guión gráfico a la clase particular

Fragmento de código:

@IBDesignable class CustomView: UIView{ @IBInspectable var borderWidth: CGFloat = 0.0{ didSet{ self.layer.borderWidth = borderWidth } } @IBInspectable var borderColor: UIColor = UIColor.clear { didSet { self.layer.borderColor = borderColor.cgColor } } override func prepareForInterfaceBuilder() { super.prepareForInterfaceBuilder() } }

Permite una fácil modificación desde Interface Builder:


rápido 3

func borderColor(){ self.viewMenuItems.layer.cornerRadius = 13 self.viewMenuItems.layer.borderWidth = 1 self.viewMenuItems.layer.borderColor = UIColor.white.cgColor }


Si usa Swift 2.0+

self.yourView.layer.borderWidth = 1 self.yourView.layer.borderColor = UIColor(red:222/255, green:225/255, blue:227/255, alpha: 1).cgColor


Swift 5.2 , UIView + Extension

extension UIView { public func addViewBorder(borderColor:CGColor,borderWith:CGFloat,borderCornerRadius:CGFloat){ self.layer.borderWidth = borderWith self.layer.borderColor = borderColor self.layer.cornerRadius = borderCornerRadius } }

Usaste esta extensión;

yourView.addViewBorder(borderColor: #colorLiteral(red: 0.6, green: 0.6, blue: 0.6, alpha: 1), borderWith: 1.0, borderCornerRadius: 20)


swift 3.0

self.uiTextView.layer.borderWidth = 0.5 self.txtItemShortDes.layer.borderColor = UIColor(red:205.0/255.0, green:205.0/255.0, blue:205.0/255.0, alpha: 1.0).cgColor