// // UIView+Extension.m // SmartLock // // Created by 江欣华 on 2016/10/25. // Copyright © 2016年 工程锁. All rights reserved. // #import "UIView+Extension.h" @implementation UIView (Extension) #pragma mark - frame - (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)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)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; } - (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)top { return self.frame.origin.y; } - (void)setTop:(CGFloat)top { CGRect frame = self.frame; frame.origin.y = top; self.frame = frame; } - (CGFloat)left { return self.frame.origin.x; } - (void)setLeft:(CGFloat)left { CGRect frame = self.frame; frame.origin.x = left; self.frame = frame; } - (CGFloat)bottom { return self.frame.size.height + self.frame.origin.y; } - (void)setBottom:(CGFloat)bottom { CGRect frame = self.frame; frame.origin.y = bottom - frame.size.height; self.frame = frame; } - (CGFloat)right { return self.frame.size.width + self.frame.origin.x; } - (void)setRight:(CGFloat)right { CGRect frame = self.frame; frame.origin.x = right - frame.size.width; self.frame = frame; } #pragma mark - layer - (void)rounded:(CGFloat)cornerRadius { [self rounded:cornerRadius width:0 color:nil]; } - (void)border:(CGFloat)borderWidth color:(UIColor *)borderColor { [self rounded:0 width:borderWidth color:borderColor]; } - (void)rounded:(CGFloat)cornerRadius width:(CGFloat)borderWidth color:(UIColor *)borderColor { self.layer.cornerRadius = cornerRadius; self.layer.borderWidth = borderWidth; self.layer.borderColor = [borderColor CGColor]; self.layer.masksToBounds = YES; } -(void)round:(CGFloat)cornerRadius RectCorners:(UIRectCorner)rectCorner { UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.bounds byRoundingCorners:rectCorner cornerRadii:CGSizeMake(cornerRadius, cornerRadius)]; CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init]; maskLayer.frame = self.bounds; maskLayer.path = maskPath.CGPath; self.layer.mask = maskLayer; } -(void)shadow:(UIColor *)shadowColor opacity:(CGFloat)opacity radius:(CGFloat)radius offset:(CGSize)offset { //给Cell设置阴影效果 self.layer.masksToBounds = NO; self.layer.shadowColor = shadowColor.CGColor; self.layer.shadowOpacity = opacity; self.layer.shadowRadius = radius; self.layer.shadowOffset = offset; } #pragma mark - base - (UIViewController *)viewController { id nextResponder = [self nextResponder]; while (nextResponder != nil) { if ([nextResponder isKindOfClass:[UIViewController class]]) { UIViewController *vc = (UIViewController *)nextResponder; return vc; } nextResponder = [nextResponder nextResponder]; } return nil; } + (CGFloat)getLabelHeightByWidth:(CGFloat)width Title:(NSString *)title font:(UIFont *)font { UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, width, 0)]; label.text = title; label.font = font; label.numberOfLines = 0; [label sizeToFit]; CGFloat height = label.frame.size.height; return height; } @end