摘要:
layer.makesToBounds 和 clipsToBounds 他们是不同的名字,因为UIView和CALayer是不同的,有不同的术语与他们有联系的,但它们在功能上是等价的。如果你拆开clipsToBounds你会看到它只是调用masksToBounds 阅读全文
摘要:
block中的循环问题 一. block容易引起引用循环的根本原因 对于(block内部用到的)外部变量,对其执行retain 的时机 与该block的执行时机是不同步的 + 在block声明的时候就对外部变量进行了retain + 而block何时执行甚至是否执行都是不可预测的 bl... 阅读全文
摘要:
UITextFiled/UITextView 占位文字 案例说明 以UITextFiled为例 自定义一个UITextFiled 在storyboard中拖入两个TextFiled继承于自定义的UITextFiled 在自定义UITextFiled类中对占位文字进行统一设置 一.... 阅读全文
摘要:
KVC keyPath和key的区别 setValue: forKey key只能是一个键,不能拼接 setValue: forKeyPath keyPath可以后面加 来拼接键 + 如 label.text 错误案例示范 forKey不能用 拼接键,只能放一个键 ... 阅读全文
摘要:
运行时(runtime) 什么是运行时? 运行时是苹果提供的纯C语言的开发库 运行时的作用 能获得某个类的所有成员变量 能获得某个类的所有属性 能获得某个类的所有方法 交换方法实现 能动态添加一个成员变量 能动态添加一个属性 能动态添加一个方法 运行时实例 应用1:打印某个类的所有成员变量(实例变... 阅读全文
摘要:
屏蔽Xcode警告 当Xcode发出警告的时候,查看警告类型 + 可以屏蔽警告 阅读全文
摘要:
案例一: 自定义button设置背景图片和autoLayout,autoLayout没有达到对齐效果 使用Alignment扩展图片之后,如果把这张图片设置为按钮的背景图片
会导致按钮在autoLayout中设置的对齐方式不准确,偏移位置取决于Alignment设置的数值
... 阅读全文
摘要:
#GCD常用方法---##一.延迟执行方法###NSTimer```objc [NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(demo) userInfo:nil repeats:NO];```##... 阅读全文
摘要:
#GCD的线程间的通讯---- 刷新UI必须在主队列中刷新- 如果在子队列中刷新可能会不显示刷新结果```objc- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ NSLog(@"--------"); /... 阅读全文
摘要:
#GCD---###GCD的概念(自动管理)- GCD有两个核心概念 + 任务 :执行什么操作 + 队列 :用来存放任务- GCD的使用步骤 + 定制任务 * 确定想做的事 + 将任务添加到队列中 * GCD会自动将队列中的任务取出,放到对应的线程中执行 * FIFO 先进先出原则- 执行任务... 阅读全文