1、快速获取修改UIView的位置大小
- (CGSize)size {
return [self frame].size;
}
- (void)setSize:(CGSize)size {
CGPoint origin = [self frame].origin;
[self setFrame:CGRectMake(origin.x, origin.y, size.width, size.height)];
}
- (void)setOrigin:(CGPoint)origin
{
CGRect frame = self.frame;
frame.origin = origin;
self.frame = frame;
}
- (CGPoint)origin
{
return self.frame.origin;
}
-(CGFloat)x {
CGRect frame=[self frame];
return frame.origin.x;
}
-(void)setX:(CGFloat)x {
CGRect frame=[self frame];
frame.origin.x=x;
[self setFrame:frame];
}
-(CGFloat)y {
CGRect frame=[self frame];
return frame.origin.y;
}
-(void)setY:(CGFloat)y {
CGRect frame=[self frame];
frame.origin.y=y;
return [self setFrame:frame];
}
- (CGFloat)left {
return CGRectGetMinX([self frame]);
}
- (void)setLeft:(CGFloat)x {
CGRect frame = [self frame];
frame.origin.x = x;
[self setFrame:frame];
}
- (CGFloat)top {
return CGRectGetMinY([self frame]);
}
- (void)setTop:(CGFloat)y {
CGRect frame = [self frame];
frame.origin.y = y;
[self setFrame:frame];
}
- (CGFloat)right {
return CGRectGetMaxX([self frame]);
}
- (void)setRight:(CGFloat)right {
CGRect frame = [self frame];
frame.origin.x = right - frame.size.width;
[self setFrame:frame];
}
- (CGFloat)bottom {
return CGRectGetMaxY([self frame]);
}
- (void)setBottom:(CGFloat)bottom {
CGRect frame = [self frame];
frame.origin.y = bottom - frame.size.height;
[self setFrame:frame];
}
- (CGFloat)centerX {
return [self center].x;
}
- (void)setCenterX:(CGFloat)centerX {
[self setCenter:CGPointMake(centerX, self.center.y)];
}
- (CGFloat)centerY {
return [self center].y;
}
- (void)setCenterY:(CGFloat)centerY {
[self setCenter:CGPointMake(self.center.x, centerY)];
}
- (CGFloat)width {
return CGRectGetWidth([self frame]);
}
- (void)setWidth:(CGFloat)width {
CGRect frame = [self frame];
frame.size.width = width;
[self setFrame:CGRectStandardize(frame)];
}
- (CGFloat)height {
return CGRectGetHeight([self frame]);
}
- (void)setHeight:(CGFloat)height {
CGRect frame=[self frame];
frame.size.height = height;
[self setFrame:CGRectStandardize(frame)];
}
- (CGFloat)minX {
CGRect frame=[self frame];
return CGRectGetMinX(frame);
}
- (CGFloat)maxX {
CGRect frame=[self frame];
return CGRectGetMaxX(frame);
}
- (CGFloat)minY {
CGRect frame=[self frame];
return CGRectGetMinY(frame);
}
- (CGFloat)maxY {
CGRect frame=[self frame];
return CGRectGetMaxY(frame);
}
2、获取当前UIView的superView对应的控制器
-(UIViewController *)getViewController{
UIResponder *next = [self nextResponder];
do {
if ([next isKindOfClass:[UIViewController class]]) {
if (![next isKindOfClass:[UINavigationController class]]) {
return (UIViewController *)next;//避免找到NavigationVC
}
}
next = [next nextResponder];
} while (next != nil);
return [[UIViewController alloc] init];
}