iOS给UIView添加延展使用与Button、uiview。。。
2016-01-27 10:00
531 查看
本文来源地址: http://www.osjoin.com/ios/11.html
下面给大家做一个小小的演示代码,具体的工程中,大家在做设置了。。。
看一下代码调用
如上述代码,我们在修改任何控件的一个x,y,w,h属性的时候都必须重现购置rect,太麻烦了。看看上面的代码,简单、快、方便、修改其中一个属性都不用在重新创建新的rect。并且是即刻生效。66666
UIView的属性是没有这些的,而且frame的属性是onlyready的,是不可修改的。
如果要是去修改就用延展,这是一种简单方式去修改UIView的大小和位置。
给UIView加扩展
就可以直接拿到你给对象添加属性。so easy!!!
代码实现如下
1:给uiview添加一个延展
.h文件如下
.m文件如下
在这里主要重写了变量的set和get方法。
2:获取当前控件的属性数据
那就可以直接取值了
添加延展是利用了在oc中的控件继承图的关系。
备注:
(提高装逼能力!!!)
添加微信公众号最快最好的收听
下面给大家做一个小小的演示代码,具体的工程中,大家在做设置了。。。
看一下代码调用
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中的控件继承图的关系。
备注:
(提高装逼能力!!!)
添加微信公众号最快最好的收听
相关文章推荐
- CALayer与UIView的关系
- UIView的bounds和frame区别
- uiview
- uiview生命周期
- UIView翻译 (参考)
- iOS 转变UIView到UIImage
- UIView动画
- 话里话外:信息化仅仅是信息化
- initWithFrame 和 initWithCoder
- [CS193P] 第六堂課摘要及心得筆記
- UI第一天
- 棋盘
- ios实现button变换颜色并可以放大、缩小、旋转
- uiview contentViewmode
- iphone开发小记 基础知识2
- iphone开发小记 基础知识3
- [笔记]I 群聊天记录2012/03/中
- iPhone开发进阶(2) --- iPhone应用程序/项目的构成
- 视图弹出后放大又缩小的动画实现、类似于alertView效果
- iPhone SDK开发:自定义UIAlertView