3:分类之简化代码获取空间的位置信息
在开发过程中,获取控件的位置信息时,一般是通过frame/bound,size/origin,x/y,width/height来获取,比如获取按钮的高:button.frame.size.height,获取视图的原点x:view.frame.origin.x。使用过程中,又多是组合使用如:button.frame.size.height+view.frame.origin.x。
但是开发的久了,写的多了你就会发现,这种写法非常繁琐,不利于代码的美观与观看效果。而在开发中,我们有时常会用到这些东西。所以对其进行简化处理,是有利于整体开发效率与项目后期处理的。
简化思路:基本上所有的控件都继承与UIView,所以我们只需要对UIView进行分类处理就好。
1.创建一个UIView的分类,分类名tblr(上下左右)。
2.为分类添加方法,根据需要,添加获取控件上下左右四个属性的方法,获取宽高两个方法,获取中心点xy两个坐标点的方法
- (CGFloat)top;
- (CGFloat)bottom;
- (CGFloat)left;
- (CGFloat)right;
- (CGFloat)width;
- (CGFloat)height;
- (CGFloat)centerX;
(CGFloat)centerY;
3.实现对应方法
- (CGFloat)top{
return self.frame.origin.y;
}
- (CGFloat)bottom{
return self.frame.origin.y + self.frame.size.height;
}
- (CGFloat)left{
return self.frame.origin.x;
}
- (CGFloat)right{
return self.frame.origin.x + self.frame.size.width;
}
- (CGFloat)width{
return self.frame.size.width;
}
- (CGFloat)height{
return self.frame.size.height;
}
- (CGFloat)centerX{
return self.center.x;
}
- (CGFloat)centerY{
return self.center.y;
}
4.调用
然后,一个简化用的分类就完成了。因为相对来说太简单了,所以写好的分类就不上传了,需要的同学可以写一下练练手也好。
结尾语:像这样的分类不要因为看起来太简单就忽略,因为这些小东西用起来很方便。不论是用来提高工作效率还是用来提升代码的可读性。还不习惯的同学可以试着自己写一写,用一用感受一下。