9 ответов:
Если вы хотите настроить цвет, используйте код ниже...
Если вы используете 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 3.1 или последний -
self.yourView.layer.borderWidth = 1 self.yourView.layer.borderColor = UIColor(red:222/255, green:225/255, blue:227/255, alpha: 1).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() } }позволяет легко изменять от Interface Builder:
swift 3
func borderColor(){ self.viewMenuItems.layer.cornerRadius = 13 self.viewMenuItems.layer.borderWidth = 1 self.viewMenuItems.layer.borderColor = UIColor.white.cgColor }
вы можете написать расширение, чтобы использовать его со всеми UIViews например. UIButton, UILabel, UIImageView etc. Вы можете настроить мой следующий метод в соответствии с вашим требованием, но я думаю, что это будет хорошо работать для вас.
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 } }использование:
btnLogin.setBorder(7, color: UIColor.lightGrayColor()) imgViewUserPick.setBorder(10)
написать код
viewDidLoad()self.view.layer.borderColor = anyColor().CGColorи вы можете установить
ColorСRGBfunc anyColor() -> UIColor { return UIColor(red: 0.0/255.0, green: 0.0/255.0, blue: 0.0/255.0, alpha: 1.0) }узнайте что-нибудь о
CALayerнаUIKit
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
мы можем создать метод для этого. Просто используйте его.
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 }

Comments