iOS给UIView添加延展使用与Button、uiview。。。

本文首发地址

下面给大家做一个小小的演示代码,具体的工程中,大家在做设置了。。。
看一下代码调用

self.cutsView = [[UIView alloc] init];
    self.cutsView.X = 100;
    self.cutsView.Y = 100;
    self.cutsView.W = 50;
    self.cutsView.H = 200;
    self.cutsView.backgroundColor = [UIColor redColor];
    [self.view addSubview:self.cutsView];

如上述代码,我们在修改任何控件的一个x,y,w,h属性的时候都必须重现购置rect,太麻烦了。看看上面的代码,简单、快、方便、修改其中一个属性都不用在重新创建新的rect。并且是即刻生效。66666

UIView的属性是没有这些的,而且frame的属性是onlyready的,是不可修改的。
如果要是去修改就用延展,这是一种简单方式去修改UIView的大小和位置。
给UIView加扩展
就可以直接拿到你给对象添加属性。so easy!!!

代码实现如下
1:给uiview添加一个延展
.h文件如下

#import <UIKit/UIKit.h>
@interface UIView (custom)
@property (nonatomic, assign) CGFloat  X;
@property (nonatomic, assign) CGFloat  Y;
@property (nonatomic, assign) CGFloat  W;
@property (nonatomic, assign) CGFloat  H;
@end

.m文件如下

#import "UIView+custom.h"

@implementation UIView (custom)

-(void)setX:(CGFloat)X {
        CGRect origionRect = self.frame;
        CGRect newRect = CGRectMake(X, origionRect.origin.y, origionRect.size.width, origionRect.size.height);
        self.frame = newRect;
}
-(CGFloat)X {
    return self.frame.origin.x;
}


-(void)setY:(CGFloat)Y {
    CGRect origionRect = self.frame;
    CGRect newRect = CGRectMake(origionRect.origin.x, Y, origionRect.size.width, origionRect.size.height);
    self.frame = newRect;
}
-(CGFloat)Y {
    return self.frame.origin.y;
}

-(void)setW:(CGFloat)W {
    CGRect origionRect = self.frame;
    CGRect newRect = CGRectMake(origionRect.origin.x, origionRect.origin.y,W, origionRect.size.height);
    self.frame = newRect;
}
-(CGFloat)W {
    return self.frame.size.width;
}

-(void)setH:(CGFloat)H {
    CGRect origionRect = self.frame;
    CGRect newRect = CGRectMake(origionRect.origin.x, origionRect.origin.y,origionRect.size.width, H);
    self.frame = newRect;
}
-(CGFloat)H {
 return self.frame.size.height;
}

@end

在这里主要重写了变量的set和get方法。
2:获取当前控件的属性数据
那就可以直接取值了

self.cutsView.X

添加延展是利用了在oc中的控件继承图的关系。

备注:
(提高装逼能力!!!)
如有问题可添加我的QQ:1290925041
还可添加QQ群:234812704(洲洲哥学院)
欢迎各位一块学习,提高逼格!
也可以添加洲洲哥的微信公众号
添加微信公众号最快最好的收听

洲洲哥的OSjoin.jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 8,572评论 6 30
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 5,141评论 5 13
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,536评论 0 17
  • 从青城飞往广州的航班延误,在机场足足逗留了两个多小时。晚上的气温在这个季节并不冷,恍恍惚惚竟然熬了几个小时。因为广...
    玮博HX阅读 380评论 0 0
  • 从2015年开始,我开始接触社群运营,那个时候还不知道社群运营是个什么东西,就是觉得终于有一群人在一起愉快的玩耍了...
    邹永浩阅读 2,004评论 4 52