美文网首页
关于分类创建

关于分类创建

作者: Little_Dragon | 来源:发表于2015-07-28 23:16 被阅读104次
  • 系统类的方法不够,不想自定义控件,可用用分类给系统类添加新的方法
  • 常见分类,frame , 写frame太麻烦,需要点几下才能出来x,y,width,height。
    而且 oc对象frame结构体的不能直接进行修改。 需要创建临时变量,这样又很麻烦。所以给 UIView加frame 分类,方便读取修改frame。
  • 可能会说 ,分类怎么会有成员属性,不是不能添加成员属性吗? 其实我们只是想拿到set 和get方法而已。
#import <UIKit/UIKit.h>
@interface UIView (Frame)
// @property在分类里面只会自动生成get,set方法,并不会生成下划线的成员属性
@property (nonatomic, assign) CGFloat width;
@property (nonatomic, assign) CGFloat height;
@property (nonatomic, assign) CGFloat x;
@property (nonatomic, assign) CGFloat y;
@end

#import "UIView+Frame.h"
@implementation UIView (Frame)
- (CGFloat)width
{    return self.frame.size.width;}
- (void)setWidth:(CGFloat)width
{    CGRect frame = self.frame;    
frame.size.width = width;   
 self.frame = frame;}
- (CGFloat)heigh
t{    return self.frame.size.height;}
- (void)setHeight:(CGFloat)height
{    CGRect frame = self.frame;  
  frame.size.height = height;    
self.frame = frame;}
- (CGFloat)x
{    return self.frame.origin.x;}
- (void)setX:(CGFloat)x
{    CGRect frame = self.frame;   
 frame.origin.x = x;   
 self.frame = frame;}
- (CGFloat)y
{    return self.frame.origin.y;}
- (void)setY:(CGFloat)y
{    CGRect frame = self.frame;   
 frame.origin.y = y;   
 self.frame = frame;}
@end
  • 还有一个分类就是 图片的分类,对于ios7以后,由于扁平化管理,所以对于其navigationBar上面的按钮(图片 以及 字体)统一渲染成了蓝色, 所以需要进行修改,对于字体的话可以直接修改。
    对于图片的话,需要重新改其渲染方式,让其不进行渲染就行了
#import <UIKit/UIKit.h>
@interface UIImage (Image)
// 返回一张没有渲染的图片
+ (instancetype)imageWithOriginRenderingName:(NSString *)imageName;
@end

#import "UIImage+Image.h"
@implementation UIImage (Image)

+ (instancetype)imageWithOriginRenderingName:(NSString *)imageName
{    UIImage *image = [UIImage imageNamed:imageName];       
return [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];}
@end

相关文章

  • 关于分类创建

    系统类的方法不够,不想自定义控件,可用用分类给系统类添加新的方法 常见分类,frame , 写frame太麻烦,需...

  • iOS 打印字典和数组中的中文

    创建数组的分类 创建字典的分类

  • 关于《关于那些事儿》

    关于《关于那些事儿》 创建这个专题,并没有什么目的性。关于这个专题,也没有什么分类、定义。 正如我对专题的描述,关...

  • 设计模式(Design pattern)

    一、分类 1、根据目的分类 创建型模式、结构型模式和行为型模式 创建型模式:“怎样创建对象” -> “对象的创建与...

  • 创建分类按钮

    假设需求是这样的 这里面的按钮通过图文混排来实现,通过创建分类NSAttributedString ,看代码你就恍...

  • OC创建分类

    事先准备 创建项目工程 创建一个类 创建分类 File → New → File 或者 快捷键command +...

  • iOS:Other Linker Flags 之 -ObjC

    应用工程使用分类 在应用工程中创建一个 NSString 的分类 NSString (test),分类中创建一个静...

  • 艺术与传媒学院垃圾分类知识普及志愿者活动顺利开展

    为认真贯彻落实省市县关于生活垃圾分类处理相关会议精神,将垃圾分类作为文明创建、绿色发展的具体抓手。同时引导少年儿童...

  • iOS分类Category使用的思考

    如果创建分类,只是为了重写原类的某个方法,那么创建了分类后,可以将分类的.h文件删除,只留.m文件。分类.m文件会...

  • OC中分类,拓展 和 swift中拓展

    OC中分类 分类创建 分类格式: UIColor+ColorChange.h头文件 UIColor+ColorCh...

网友评论

      本文标题:关于分类创建

      本文链接:https://www.haomeiwen.com/subject/wobmqttx.html