工具类:快速获取控件 frame 值(UIView 分类)
2016-03-21 23:32
405 查看
.h
.m
// 分类:不能添加属性 (使用runtime可以实现添加属性) @interface UIView (XXXXExp) // 所有都只是声明了setter 和 getter 方法,并没有新增属性 @property (nonatomic, assign) CGFloat x; // 声明setter 和 getter @property (nonatomic, assign) CGFloat y; @property (nonatomic, assign) CGFloat width; @property (nonatomic, assign) CGFloat height; @end
.m
@implementation UIView (XXXXExp) // 有没有新增属性名为x的属性? - (void)setX:(CGFloat)x { // 如果有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; } @end
相关文章推荐
- requests的使用
- ueditor 编译器错误消息: CS0433: 类型“Uploader”同时存在于“c:\windows\Microsoft.NET\Framework
- 设置iOS项目BuildVersion自动增加-备用
- UIPageViewController浅析
- 用Reveal分析第三方App的UI
- UITextfield使用详解
- 奇怪的Java题:为什么1000 == 1000返回为False,而100 == 100会返回为True?
- UESTC271(dp)
- 复杂对象的创建--建造者模式(Builder)
- marquee标签属性详解
- iOS中UINavigationController实现多级pop回退
- POJ2831 Can We Build This One?(次小生成树)
- String、StringBuffer和StringBuilder的比较
- POJ 2031 Building a Space Station
- UItableView的cell重用机制
- [UI] 精美UI界面欣赏[13]
- iOS之UITabarController选中按钮背景图片颜色问题
- [bzoj3638]k-Maximum Subsequence Sum
- Qemu&KVM第三篇之使用Ubuntu-vm-builder 创建虚拟机
- NSOprationQueue 与 GCD 的区别与选用