美文网首页
初识runtime

初识runtime

作者: 乡村武装青年 | 来源:发表于2015-11-22 19:59 被阅读129次

算算代码写了一段时间,从去年的6月份到今年的11月.从一个毛头小子,碰见问题只能选择求助,到现在能独立处理问题.我想我是热爱的代码的,感觉终于找到了一个喜欢的事情.毕业之后,第一份关于代码的工作竟然是独立开发,不可能的任务,可是竟然奇迹般的挺过来了,如果没有热情想必也是办不到了.我的热情竟然在这里生根发芽了.

我清醒的意识到了自己心态的转变,越来越想挖掘语言本质的东西用别人写的东西,更喜欢研究为什么他们要这么设计.有了这些铺垫,我顺利的接触到了runtime,像是发现了一个宝藏.下面写个小的应用场景.用类别加runtime修改navigationbar的颜色.


.h声明:

#import

@interfaceUINavigationBar (SetColor)

- (void)become_backgroundColor:(UIColor*)backgroudColor;

@end


.m实现:

#import"UINavigationBar+SetColor.h"

#import

staticcharbackViewKey;

@interfaceUINavigationBar()

@property(nonatomic,strong)UIView*backView;

@end

@implementationUINavigationBar (SetColor)

- (UIView*)backView

{

returnobjc_getAssociatedObject(self, &backViewKey);

}

- (void)setBackView:(UIView*)backView

{

objc_setAssociatedObject(self, &backViewKey, backView,OBJC_ASSOCIATION_RETAIN_NONATOMIC);

}

- (void)become_backgroundColor:(UIColor*)backgroudColor

{

if(!self.backView) {

[selfsetBackgroundImage:[UIImagenew]forBarMetrics:UIBarMetricsDefault];

self.backView= [[UIViewalloc]initWithFrame:CGRectMake(0, -20, [UIScreenmainScreen].bounds.size.width,self.bounds.size.height+20)];

self.backView.autoresizingMask=UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;

self.backView.userInteractionEnabled=NO;

[selfinsertSubview:self.backViewatIndex:0];

}

self.backView.backgroundColor= backgroudColor;

}

@end

相关文章

  • 初识Runtime

    最近想深入学习一下 runtime 看了比较多的博客和文档,但是好多博主上来就开始讲 runtime 的原理、消息...

  • Runtime初识

    Runtime 运行时,是一套底层的 C 语言 API,其为 iOS 内部的核心之一,我们平时编写的 OC 代码,...

  • 初识 Runtime

  • runtime 初识

    我们随便写一个小程序,代码如下: person类头文件如下, #import@interfacePerson : ...

  • 初识RunTime

    初次接触RunTime,记录下自己的学习心得,为后来者铺平道路,提供一个学习的切入点。 首先简单的介绍下RunTi...

  • Runtime初识

    runtime的使用先导入runtime类 runtime 可以对类操作举个例子先创建一个Person类在.h中声...

  • 初识runtime

    runtime是什么? runtime是一个c和汇编写的动态库,它就像一个小小的系统,将OC和C紧密关联,这个系统...

  • 初识runtime

    大家都知道OC是动态语言,其主要特征就是动态绑定,消息转发。我们在调用NS方法的时候,runtime其实就已经在背...

  • runTime初识

    这里就不说runtime有多牛逼了。直接进入正题。 首先Objective-C是面向对象的,任何类的定义都是对象。...

  • 初识runtime

    算算代码写了一段时间,从去年的6月份到今年的11月.从一个毛头小子,碰见问题只能选择求助,到现在能独立处理问题.我...

网友评论

      本文标题:初识runtime

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