美文网首页
iOS 纯代码界面适配UIView扩展类

iOS 纯代码界面适配UIView扩展类

作者: ShanJiJi | 来源:发表于2017-09-07 12:09 被阅读117次

    下方代码为UIView的扩展分类,在纯代码界面适配中可以直接使用UIView控件的x,y,width,height等属性进行设置。

    #import <UIKit/UIKit.h>
    
    @interface UIView (FrameLayout)
    
    @property CGFloat top;
    @property CGFloat bottom;
    @property CGFloat left;
    @property CGFloat right;
    
    @property CGFloat centerX;
    @property CGFloat centerY;
    
    @property CGFloat height;
    @property CGFloat width;
    
    @end
    
    
    #import "UIView+FrameLayout.h"
    
    @implementation UIView (FrameLayout)
    
    - (CGFloat)top {
        return self.frame.origin.y;
    }
    
    - (void)setTop:(CGFloat)top {
        CGRect frame = self.frame;
        frame.origin.y = top;
        self.frame = frame;
    }
    
    - (CGFloat)bottom {
        return self.top + self.height;
    }
    
    - (void)setBottom:(CGFloat)bottom {
        self.top = bottom - self.height;
    }
    
    - (CGFloat)left {
        return self.frame.origin.x;
    }
    
    - (void)setLeft:(CGFloat)left {
        CGRect frame = self.frame;
        frame.origin.x = left;
        self.frame = frame;
    }
    
    - (CGFloat)right {
        return self.left + self.width;
    }
    
    - (void)setRight:(CGFloat)right {
        self.left = right - self.width;
    }
    
    - (CGFloat)centerX {
        return self.center.x;
    }
    
    - (void)setCenterX:(CGFloat)centerX {
        self.center = CGPointMake(centerX, self.centerY);
    }
    
    - (CGFloat)centerY {
        return self.center.y;
    }
    
    - (void)setCenterY:(CGFloat)centerY {
        self.center = CGPointMake(self.centerX, centerY);
    }
    
    - (CGFloat)height {
        return self.frame.size.height;
    }
    
    - (void)setHeight:(CGFloat)height {
        CGRect frame = self.frame;
        frame.size.height = height;
        self.frame = frame;
    }
    
    - (CGFloat)width {
        return self.frame.size.width;
    }
    
    - (void)setWidth:(CGFloat)width {
        CGRect frame = self.frame;
        frame.size.width = width;
        self.frame = frame;
    }
    
    @end
    
    

    相关文章

      网友评论

          本文标题:iOS 纯代码界面适配UIView扩展类

          本文链接:https://www.haomeiwen.com/subject/hxcijxtx.html