UIView的分类(直接操作x,y,w,h)

2016-03-24  本文已影响404人  逍遥叹不逍遥

UIView+Extension.h


#import@interface UIView (Extension)

@property (nonatomic, assign) CGFloat x;

@property (nonatomic, assign) CGFloat y;

@property (nonatomic, assign) CGFloat maxX;

@property (nonatomic, assign) CGFloat maxY;

@property (nonatomic, assign) CGFloat centerX;

@property (nonatomic, assign) CGFloat centerY;

@property (nonatomic, assign) CGFloat width;

@property (nonatomic, assign) CGFloat height;

@property (nonatomic, assign) CGSize size;

@end



UIView+Extension.m


#import "UIView+Extension.h"

@implementation UIView (Extension)

- (void)setX:(CGFloat)x

{

CGRect frame = self.frame;

frame.origin.x = x;

self.frame = frame;

}

- (CGFloat)x

{

return self.frame.origin.x;

}

- (void)setMaxX:(CGFloat)maxX

{

self.x = maxX - self.width;

}

- (CGFloat)maxX

{

return CGRectGetMaxX(self.frame);

}

- (void)setMaxY:(CGFloat)maxY

{

self.y = maxY - self.height;

}

- (CGFloat)maxY

{

return CGRectGetMaxY(self.frame);

}

- (void)setY:(CGFloat)y

{

CGRect frame = self.frame;

frame.origin.y = y;

self.frame = frame;

}

- (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;

}

- (CGFloat)width

{

return self.frame.size.width;

}

- (void)setHeight:(CGFloat)height

{

CGRect frame = self.frame;

frame.size.height = height;

self.frame = frame;

}

- (CGFloat)height

{

return self.frame.size.height;

}

- (void)setSize:(CGSize)size

{

//    self.width = size.width;

//    self.height = size.height;

CGRect frame = self.frame;

frame.size = size;

self.frame = frame;

}

- (CGSize)size

{

return self.frame.size;

}

@end


上一篇 下一篇

猜你喜欢

热点阅读