// // UIView+Extension.swift // // // Created by LXF on 16/3/29. // Copyright © 2016年 LXF. All rights reserved. // import Foundation import UIKit extension UIView { //MARK: - storyboard上添加属性 可以直接配置 省得每次都要代码实现 // border 宽度 @IBInspectable var borderWidth: CGFloat { get { return self.layer.borderWidth } set { self.layer.borderWidth = newValue } } // border的颜色 @IBInspectable var borderColor: UIColor { get { return UIColor(cgColor: self.layer.borderColor!) } set { self.layer.borderColor = newValue.cgColor } } // 圆角 @IBInspectable var cornerRadius: CGFloat { get { return self.layer.cornerRadius } set { self.layer.cornerRadius = newValue self.layer.masksToBounds = newValue > 0 } } func setAnchorConstraintsFullSizeTo(view: UIView, padding: CGFloat = 0) { self.translatesAutoresizingMaskIntoConstraints = false self.topAnchor.constraint(equalTo: view.topAnchor, constant: padding).isActive = true self.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -padding).isActive = true self.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: padding).isActive = true self.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -padding).isActive = true } func createLineView(_ frame:CGRect,_ color:UIColor) -> UIView { self.frame = frame self.backgroundColor = color return self } /// 裁剪 view 的圆角 func clipRectCorner(direction: UIRectCorner, cornerRadius: CGFloat) { let cornerSize = CGSize(width: cornerRadius, height: cornerRadius) let maskPath = UIBezierPath(roundedRect: bounds, byRoundingCorners: direction, cornerRadii: cornerSize) let maskLayer = CAShapeLayer() maskLayer.frame = bounds maskLayer.path = maskPath.cgPath layer.addSublayer(maskLayer) layer.mask = maskLayer } public var x: CGFloat{ get{ return self.frame.origin.x } set{ var r = self.frame r.origin.x = newValue self.frame = r } } public var y: CGFloat{ get{ return self.frame.origin.y } set{ var r = self.frame r.origin.y = newValue self.frame = r } } /// 右边界的x值 public var rightX: CGFloat{ get{ return self.x + self.width } set{ var r = self.frame r.origin.x = newValue - frame.size.width self.frame = r } } /// 下边界的y值 public var bottomY: CGFloat{ get{ return self.y + self.height } set{ var r = self.frame r.origin.y = newValue - frame.size.height self.frame = r } } public var centerX : CGFloat{ get{ return self.center.x } set{ self.center = CGPoint(x: newValue, y: self.center.y) } } public var centerY : CGFloat{ get{ return self.center.y } set{ self.center = CGPoint(x: self.center.x, y: newValue) } } }