iOS快速得到视图的width,height,x,y

来源:互联网 发布:制作工资表软件 编辑:程序博客网 时间:2024/05/22 10:31

//

//  UIView+Extnesion.h

//  GuiguziFoot

//

//  Created by LANJIE on 16/5/10.

//  Copyright © 2016 俞涛涛. All rights reserved.

//



#import <UIKit/UIKit.h>


@interface UIView (Extnesion)

@property (nonatomic,assign)CGFloat x;

@property (nonatomic,assign)CGFloat y;

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

@property (nonatomic,assign)CGPoint origin;



@end

@interface UIView (FindFirstResponder)


- (UIView *)findFirstResponder;


@end


//

//  UIView+Extnesion.m

//  GuiguziFoot

//

//  Created by LANJIE on 16/5/10.

//  Copyright © 2016 俞涛涛. All rights reserved.

//



#import "UIView+Extnesion.h"


@implementation UIView (Extnesion)


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

    returnself.frame.origin.x;

}


- (CGFloat)y{

    returnself.frame.origin.y;

}


- (void)setCenterX:(CGFloat)centerX

{

   CGPoint center = self.center;

    center.x = centerX;

   self.center = center;

}


- (void)setCenterY:(CGFloat)centerY{

   CGPoint center = self.center;

    center.y = centerY;

   self.center = center;

}



- (CGFloat)centerX{

    return self.center.x;

}


- (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)width{

    returnself.frame.size.width;

}


- (CGFloat)height{

    returnself.frame.size.height;

}


- (void)setSize:(CGSize)size{

   CGRect frame = self.frame;

    frame.size = size;

   self.frame = frame;

}


- (void)setOrigin:(CGPoint)origin{

   CGRect frame = self.frame;

    frame.origin = origin;

   self.frame = frame;

}


- (CGSize)size{

    return self.frame.size;

}


- (CGPoint)origin{

    returnself.frame.origin;

}






@end



@implementation UIView (FindFirstResponder)


- (UIView *)findFirstResponder

{

    if (self.isFirstResponder) {

       return self;

    }

    

   for (UIView *subViewin self.subviews) {

        

       UIView *responder = [subView findFirstResponder];

       if (responder) {

           return responder;

        }

        

    }

    return nil;

}


@end


使用方法,建议把 #import "UIView+Extnesion.h" 把放到pch文件里面,这样在哪里都可以快速的得到当前视图的frame,如下使用

veiw.x

view.y

view.width

view.height


1 0
原创粉丝点击