您的位置:首页 > 其它

分类在控件中的特殊使用—添加必要的“属性”

2015-11-23 19:04 316 查看
之前我们使用runtime为控件添加了属性,现在我们不用runtime 看如何实现为某个控件添加“属性”

其实这不是真正的添加属性

我们也是给UIView添加坐标

.h文件

#import <UIKit/UIKit.h>

@interface UIView (ZYExp)
@property (nonatomic, assign) CGFloat x;
@property (nonatomic, assign) CGFloat y;
@property (nonatomic, assign) CGFloat width;
@property (nonatomic, assign) CGFloat height;

@end


在.m文件中

- (void)setX:(CGFloat)x {

CGRect frame = self.frame;
frame.origin.x = x;
self.frame = frame;
}

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

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

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

- (void)setWidth:(CGFloat)width {
CGRect frame = self.frame;
frame.size.width = width;
self.frame = frame;

}

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

- (void)setHeight:(CGFloat)height {
CGRect frame = self.frame;
frame.size.height = height;
self.frame = frame;

}

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


其实这是间接的取出frame的值,进行操作。因为默认的frame是不能直接的修改他的值的,所以必须间接的操作。而且这样的话,后期我们只要是需要用到了坐标的,那么就显得非常方便了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  控件