123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229 |
- //
- // UIView+ST.m
- // STPhotoBrowser
- //
- // Created by https://github.com/STShenZhaoliang/STPhotoBrowser.git on 16/1/15.
- // Copyright © 2016年 ST. All rights reserved.
- //
- #import "UIView+ST.h"
- @implementation UIView (ST)
- - (void)setX:(CGFloat)x
- {
- CGRect frame = self.frame;
- frame.origin.x = x;
- self.frame = frame;
- }
- - (void)setY:(CGFloat)y
- {
- CGRect frame = self.frame;
- frame.origin.y = y;
- self.frame = frame;
- }
- - (CGFloat)x
- {
- return self.frame.origin.x;
- }
- - (CGFloat)y
- {
- return self.frame.origin.y;
- }
- - (void)setWidth:(CGFloat)width
- {
- CGRect frame = self.frame;
- frame.size.width = width;
- self.frame = frame;
- }
- - (void)setHeight:(CGFloat)height
- {
- CGRect frame = self.frame;
- frame.size.height = height;
- self.frame = frame;
- }
- - (CGFloat)height
- {
- return self.frame.size.height;
- }
- - (CGFloat)width
- {
- return self.frame.size.width;
- }
- - (UIView * (^)(CGFloat x))setX
- {
- return ^(CGFloat x) {
- self.x = x;
- return self;
- };
- }
- - (void)setCenterX:(CGFloat)centerX
- {
- CGPoint center = self.center;
- center.x = centerX;
- self.center = center;
- }
- - (CGFloat)centerX
- {
- return self.center.x;
- }
- - (void)setCenterY:(CGFloat)centerY
- {
- CGPoint center = self.center;
- center.y = centerY;
- self.center = center;
- }
- - (CGFloat)centerY
- {
- return self.center.y;
- }
- - (void)setSize:(CGSize)size
- {
- CGRect frame = self.frame;
- frame.size = size;
- self.frame = frame;
- }
- - (CGSize)size
- {
- return self.frame.size;
- }
- - (void)setOrigin:(CGPoint)origin
- {
- CGRect frame = self.frame;
- frame.origin = origin;
- self.frame = frame;
- }
- - (CGPoint)origin
- {
- return self.frame.origin;
- }
- - (CGFloat)left {
- return self.frame.origin.x;
- }
- - (void)setLeft:(CGFloat)x {
- CGRect frame = self.frame;
- frame.origin.x = x;
- self.frame = frame;
- }
- - (CGFloat)top {
- return self.frame.origin.y;
- }
- - (void)setTop:(CGFloat)y {
- CGRect frame = self.frame;
- frame.origin.y = y;
- self.frame = frame;
- }
- - (CGFloat)right {
- return self.frame.origin.x + self.frame.size.width;
- }
- - (void)setRight:(CGFloat)right {
- CGRect frame = self.frame;
- frame.origin.x = right - frame.size.width;
- self.frame = frame;
- }
- - (CGFloat)bottom {
- return self.frame.origin.y + self.frame.size.height;
- }
- - (void)setBottom:(CGFloat)bottom {
- CGRect frame = self.frame;
- frame.origin.y = bottom - frame.size.height;
- self.frame = frame;
- }
- - (UIView *(^)(UIColor *color)) setColor
- {
- return ^ (UIColor *color) {
- self.backgroundColor = color;
- return self;
- };
- }
- - (UIView *(^)(CGRect frame)) setFrame
- {
- return ^ (CGRect frame) {
- self.frame = frame;
- return self;
- };
- }
- - (UIView *(^)(CGSize size)) setSize
- {
- return ^ (CGSize size) {
- self.bounds = CGRectMake(0, 0, size.width, size.height);
- return self;
- };
- }
- - (UIView *(^)(CGPoint point)) setCenter
- {
- return ^ (CGPoint point) {
- self.center = point;
- return self;
- };
- }
- - (UIView *(^)(NSInteger tag)) setTag
- {
- return ^ (NSInteger tag) {
- self.tag = tag;
- return self;
- };
- }
- - (void)setHollowWithCenterFrame:(CGRect)centerFrame
- {
- UIBezierPath *path = [UIBezierPath bezierPath];
- [path appendPath:[UIBezierPath bezierPathWithRect:self.frame]];
- [path appendPath:[UIBezierPath bezierPathWithRect:centerFrame].bezierPathByReversingPath];
- CAShapeLayer *maskLayer = [CAShapeLayer layer];
- maskLayer.path = path.CGPath;
- self.layer.mask = maskLayer;
- }
- /**
- * 1.获取屏幕图片
- */
- - (UIImage *)imageFromSelfView
- {
- return [self imageFromViewWithFrame:self.frame];
- }
- - (UIImage *)imageFromViewWithFrame:(CGRect)frame
- {
- UIGraphicsBeginImageContext(self.frame.size);
- CGContextRef context = UIGraphicsGetCurrentContext();
- CGContextSaveGState(context);
- UIRectClip(frame);
- [self.layer renderInContext:context];
- UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
- return theImage;
- }
- @end
|