抽取UIView分类

很多时候我们在写控件的frame的时候都要写一长串分self.frame.size.width,为了简化操作,我们可以抽取一个UIView分类,以后每次写farme的时候只需要写self.lhl_width,下面是具体实现:
  • 新建一个分类继承自UIView:


  • UIView+Frame.h:此处定义属性名称的时候需要注意,为了防止和同事起重名的属性名,建议加上自己独有的前缀,以防重定义
    #import <UIKit/UIKit.h>

      @interface UIView (Frame)
    
      @property CGFloat lhl_width;
      @property CGFloat lhl_height;
      @property CGFloat lhl_x;
      @property CGFloat lhl_y;
    
      @end
    
  • UIView+Frame.m:实现UIView+Frame.h中属性的setter和getter方法:

    #import "UIView+Frame.h"

    @implementation UIView (Frame)

    - (void)setLhl_width:(CGFloat)lhl_width
    {
        CGRect rect = self.frame;
        lhl_width = rect.size.width;
        self.frame = rect;
    }

    - (CGFloat)lhl_width
    {
        return self.frame.size.width;
    }

    - (void)setLhl_height:(CGFloat)lhl_height
    {
        CGRect rect = self.frame;
        lhl_height = rect.size.height;
        self.frame = rect;
    }

    - (CGFloat)lhl_height
    {
        return self.frame.size.height;
    }

    - (void)setLhl_x:(CGFloat)lhl_x
    {
        CGRect rect = self.frame;
        lhl_x = rect.origin.x;
        self.frame = rect;
    }

    - (CGFloat)lhl_x
    {
        return self.frame.origin.x;
    }

    - (void)setLhl_y:(CGFloat)lhl_y
    {
        CGRect rect = self.frame;
        lhl_y = rect.origin.y;
        self.frame = rect;
    }

    - (CGFloat)lhl_y
    {
        return self.frame.origin.y;
    }

    @end
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • VLC的集成和使用 VLC介绍 VLC Media Player (VideoLAN) 为 Windows、Lin...
    Pocket阅读 20,152评论 75 66
  • 1.NSTimer //暂停if ([timer isValid]) {[timer setFireDate:[N...
    俊月阅读 5,209评论 0 0
  • 1、设置UILabel行间距 NSMutableAttributedString* attrString = [[...
    十年一品温如言1008阅读 5,871评论 0 3
  • Quartz2D以及drawRect的重绘机制字数1487 阅读21 评论1 喜欢1一、什么是Quartz2D Q...
    PurpleWind阅读 4,262评论 0 3
  • 【晨读感悟第19天】从《战狼||》体会到做最该做的事 昨天下午看了《战狼||》,不愧是票房冠军,我去的1号大厅几乎...
    在在姐阅读 1,351评论 0 0

友情链接更多精彩内容