// // EXTView.m // Pods // // Created by Recruit Holdings Co.,Ltd. Media Technology Lab. on 9/15/15. // // #import "EXTView.h" @interface EXTLayer : CAGradientLayer @property (strong, nonatomic) UIColor *startColor; @property (strong, nonatomic) UIColor *endColor; @end @implementation EXTLayer - (instancetype)init { self = [super init]; if (self) { _startColor = [UIColor clearColor]; _endColor = [UIColor clearColor]; self.colors = @[(id)_startColor.CGColor, (id)_endColor.CGColor]; } return self; } - (void)setStartColor:(UIColor *)startColor { _startColor = startColor; if (!_startColor) { _startColor = [UIColor clearColor]; } self.colors = @[(id)_startColor.CGColor, (id)_endColor.CGColor]; } - (void)setEndColor:(UIColor *)endColor { _endColor = endColor; if (!_endColor) { _endColor = [UIColor clearColor]; } self.colors = @[(id)_startColor.CGColor, (id)_endColor.CGColor]; } @end @interface EXTView () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTView + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end @interface EXTLabel () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTLabel + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end @interface EXTButton () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTButton + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end @interface EXTSegmentedControl () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTSegmentedControl + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end @interface EXTTextField () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTTextField + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end @interface EXTSlider () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTSlider + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end @interface EXTSwitch () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTSwitch + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end @interface EXTActivityIndicatorView () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTActivityIndicatorView + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end @interface EXTProgressView () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTProgressView + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end @interface EXTPageControl () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTPageControl + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end @interface EXTStepper () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTStepper + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end @interface EXTTableView () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTTableView + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end @interface EXTImageView () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTImageView + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end @interface EXTCollectionView () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTCollectionView + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end @interface EXTCollectionViewCell () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTCollectionViewCell + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end @interface EXTCollectionReusableView () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTCollectionReusableView + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end @interface EXTTextView () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTTextView + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end @interface EXTScrollView () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTScrollView + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end @interface EXTPickerView () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTPickerView + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end @interface EXTNavigationBar () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTNavigationBar + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end @interface EXTToolbar () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTToolbar + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius =cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end @interface EXTTabBar () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTTabBar + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end @interface EXTSearchBar () @property (readonly) EXTLayer *ext_layer; @end @implementation EXTSearchBar + (Class)layerClass { return [EXTLayer class]; } - (EXTLayer *)ext_layer { return (EXTLayer *)self.layer; } - (void)ext_setup { } - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self ext_setup]; } return self; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self ext_setup]; } return self; } - (UIColor *)borderColor { return [UIColor colorWithCGColor:self.layer.borderColor]; } - (void)setBorderColor:(UIColor *)borderColor { self.layer.borderColor = borderColor.CGColor; } - (CGFloat)borderWidth { return self.layer.borderWidth; } - (void)setBorderWidth:(CGFloat)borderWidth { self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; } - (UIColor *)shadowColor { return [UIColor colorWithCGColor:self.layer.shadowColor]; } - (void)setShadowColor:(UIColor *)shadowColor { self.layer.shadowColor = shadowColor.CGColor; } - (CGSize)shadowOffset { return self.layer.shadowOffset; } - (void)setShadowOffset:(CGSize)shadowOffset { self.layer.shadowOffset = shadowOffset; } - (CGFloat)shadowOpacity { return self.layer.shadowOpacity; } - (void)setShadowOpacity:(CGFloat)shadowOpacity { self.layer.shadowOpacity = shadowOpacity; } - (CGFloat)shadowRadius { return self.layer.shadowRadius; } - (void)setShadowRadius:(CGFloat)shadowRadius { self.layer.shadowRadius = shadowRadius; } - (UIColor *)bgStartColor:(UIColor *)color { return self.ext_layer.startColor; } - (void)setBgStartColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.startColor = color; } - (CGPoint)bgStartPoint { return self.ext_layer.startPoint; } - (void)setBgStartPoint:(CGPoint)gradientStartPoint { self.ext_layer.startPoint = gradientStartPoint; } - (UIColor *)bgEndColor:(UIColor *)color { return self.ext_layer.endColor; } - (void)setBgEndColor:(UIColor *)color { self.backgroundColor = [UIColor clearColor]; self.ext_layer.endColor = color; } - (CGPoint)bgEndPoint { return self.ext_layer.endPoint; } - (void)setBgEndPoint:(CGPoint)gradientEndPoint { self.ext_layer.endPoint = gradientEndPoint; } - (BOOL)masksToBounds { return self.layer.masksToBounds; } - (void)setMasksToBounds:(BOOL)masksToBounds { self.layer.masksToBounds = masksToBounds; } @end