关于分类创建

  • 系统类的方法不够,不想自定义控件,可用用分类给系统类添加新的方法
  • 常见分类,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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,039评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,426评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,417评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,868评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,892评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,692评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,416评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,326评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,782评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,957评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,102评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,790评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,442评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,996评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,113评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,332评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,044评论 2 355

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,105评论 4 62
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,167评论 25 707
  • 走在金黄色的路上,正如踏着我的少年时代,渐渐远去,我不知将去何方。“每一个不曾起舞的日子都是对生命的辜负”我也不知...
    小狸花阅读 286评论 0 1
  • 序:为何不能用英语来输出倒逼输入,而这本身又是一次输出倒逼输入。 注:由于是首篇我就不用中文再翻译了,一者学识较浅...
    滕公子实习录阅读 366评论 0 0
  • 给一个对象设置属性并不仅仅是添加一个新属性或者修改已有的属性值,今天完整的讲讲这个过程 myObject.name...
    peppermint_egg阅读 2,638评论 2 0