如何以编程方式设置UIView的自定义边框颜色?

我想在Swift中以编程方式设置UIView的自定义边框颜色。

如果你想自定义颜色,请使用下面的代码…

如果您使用Swift 2.0-

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

如果你使用Swift 3.1或后者 –

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

你可以使用下面的代码来设置UIView的边框宽度和边框颜色。

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

使用@IBDesignable@IBInspectable来做同样的事情。

它们是可重用的,可以从界面生成器轻松修改,并且更改立即反映在故事板中

使故事板中的对象符合特定的类

代码片段:

 @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() } } 

允许从界面生成器轻松修改:

界面生成器

你可以写一个扩展名,用它来处理所有的UIViews。 UIButton,UILabel,UIImageView等您可以根据您的要求定制我的以下方法,但我认为它会适合你。

 extension UIView{ func _गोल_करा(radius:CGFloat, color:UIColor = UIColor.clearColor()) -> UIView{ var rounfView:UIView = self rounfView.layer.cornerRadius = CGFloat(radius) rounfView.layer.borderWidth = 1 rounfView.layer.borderColor = color.CGColor rounfView.clipsToBounds = true return rounfView } } 

用法:

 btnLogin._गोल_करा(7, color: UIColor.lightGrayColor()) imgViewUserPick._गोल_करा(10) 

把代码写在你的viewDidLoad()

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

你可以用RGB设置Color

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

UIKit学习一些关于CALayer的知识

迅速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 

Swift 3.0

  groundTrump.layer.borderColor = UIColor.red.cgColor 

迅速3

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