| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- //
- // 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)
- }
- }
- }
|