Update podspec only Source
This commit is contained in:
@@ -1,134 +0,0 @@
|
||||
|
||||
|
||||
import UIKit
|
||||
|
||||
@IBDesignable
|
||||
class DesignButton: UIButton {
|
||||
|
||||
@IBInspectable var hideAnimation: Bool = true
|
||||
|
||||
@IBInspectable var fillColor: UIColor = .clear
|
||||
|
||||
@IBInspectable var gradientColor: UIColor?
|
||||
@IBInspectable var gradientOffset: CGPoint = CGPoint(x: 0, y: 1)
|
||||
|
||||
@IBInspectable var cornerRadius: CGFloat = 0.0
|
||||
|
||||
@IBInspectable var shadowColor: UIColor = .clear
|
||||
@IBInspectable var shadowOffset: CGSize = CGSize.zero
|
||||
@IBInspectable var shadowRadius: CGFloat = 0.0
|
||||
@IBInspectable var shadowOpacity: CGFloat = 0.0
|
||||
|
||||
@IBInspectable var borderColor: UIColor = .clear
|
||||
@IBInspectable var borderWidth: CGFloat = 0.0
|
||||
|
||||
override func draw(_ rect: CGRect) {
|
||||
|
||||
if let gradientColor = gradientColor {
|
||||
|
||||
let glayer = CAGradientLayer()
|
||||
glayer.frame = bounds
|
||||
glayer.colors = [fillColor.cgColor, gradientColor.cgColor]
|
||||
glayer.startPoint = CGPoint.zero
|
||||
glayer.endPoint = gradientOffset
|
||||
glayer.cornerRadius = radius()
|
||||
layer.insertSublayer(glayer, at: 0)
|
||||
|
||||
} else {
|
||||
layer.backgroundColor = fillColor.cgColor
|
||||
}
|
||||
|
||||
layer.cornerRadius = radius()
|
||||
|
||||
layer.shadowOffset = shadowOffset
|
||||
layer.shadowOpacity = Float(shadowOpacity / 10.0)
|
||||
layer.shadowRadius = shadowRadius
|
||||
layer.shadowColor = shadowColor.cgColor
|
||||
|
||||
layer.borderColor = borderColor.cgColor
|
||||
layer.borderWidth = borderWidth
|
||||
}
|
||||
|
||||
override var isSelected: Bool {
|
||||
didSet {
|
||||
super.isSelected = isSelected
|
||||
}
|
||||
}
|
||||
|
||||
override var isHighlighted: Bool {
|
||||
didSet {
|
||||
// super.isHighlighted = isHighlighted
|
||||
}
|
||||
}
|
||||
|
||||
override func beginTracking(_ touch: UITouch, with event: UIEvent?) -> Bool {
|
||||
selectedLayer(show: true)
|
||||
return super.beginTracking(touch, with: event)
|
||||
}
|
||||
|
||||
override func continueTracking(_ touch: UITouch, with event: UIEvent?) -> Bool {
|
||||
let point = touch.location(in: self)
|
||||
let someFrame = bounds
|
||||
let highlighted = someFrame.contains(point)
|
||||
selectedLayer(show: highlighted)
|
||||
return super.continueTracking(touch, with: event)
|
||||
}
|
||||
|
||||
override func endTracking(_ touch: UITouch?, with event: UIEvent?) {
|
||||
selectedLayer(show: false)
|
||||
super.endTracking(touch, with: event)
|
||||
}
|
||||
|
||||
override func cancelTracking(with event: UIEvent?) {
|
||||
selectedLayer(show: false)
|
||||
super.cancelTracking(with: event)
|
||||
}
|
||||
|
||||
func radius() -> CGFloat {
|
||||
let minSize = min(frame.size.width, frame.size.height)
|
||||
let radius = ((cornerRadius < 0) ? (minSize / 2) : cornerRadius)
|
||||
return radius
|
||||
}
|
||||
|
||||
func selectedLayer(show: Bool) {
|
||||
|
||||
func selectAnimationHide(show: Bool) {
|
||||
if show {
|
||||
alpha = 0.5
|
||||
} else {
|
||||
UIView.animate(withDuration: 0.35, animations: {
|
||||
self.alpha = 1
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func selectAnimationShadow(show: Bool) {
|
||||
let tag = 1
|
||||
let view = viewWithTag(tag)
|
||||
if show {
|
||||
if view == nil {
|
||||
let view = UIView(frame: bounds)
|
||||
view.backgroundColor = UIColor.init(white: 0.0, alpha: 0.2)
|
||||
view.tag = tag
|
||||
view.layer.cornerRadius = radius()
|
||||
addSubview(view)
|
||||
}
|
||||
} else {
|
||||
if let view = view {
|
||||
UIView.animate(withDuration: 0.35, animations: {
|
||||
view.alpha = 0
|
||||
}) { (fin: Bool) in
|
||||
view.removeFromSuperview()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if hideAnimation {
|
||||
selectAnimationHide(show: show)
|
||||
} else {
|
||||
selectAnimationShadow(show: show)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user