- 博客(13)
- 资源 (2)
- 收藏
- 关注
原创 Swift 几个简单控件及上传系统相册照片
import UIKit class ViewController: UIViewController, UITextFieldDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate { let inputNameLabel = UILabel() let inpu
2016-05-17 14:10:43 699
原创 CALayer遮罩效果
#import "ViewController.h" @interface ViewController () @property (nonatomic, strong) CALayer *imageLayer; @property (nonatomic, strong) CALayer *maskLayer; @property (nonatomic, st
2016-03-13 22:39:34 413
原创 CALayer图片淡入淡出效果
#import "ViewController.h" @interface ViewController () @property (nonatomic, strong) CALayer *imageLayer; @end @implementation ViewController - (void)viewDidLoad { [sup
2016-03-13 22:38:26 278
原创 CALayer下载进度条
使用随机数模拟下载进度条 1.继承UIView 重写两个方法 将layer加入到self.layer中 viewController中:
2016-03-13 22:29:39 218
原创 CALayer和UIView的区别
每个 UIView 内部都有一个 CALayer 在背后提供内容的绘制和显示,并且 UIView 的尺寸样式都由内部的 Layer 所提供。两者都有树状层级结构,layer 内部有 SubLayers,View 内部有 SubViews.但是 Layer 比 View 多了个AnchorPoint在 View显示的时候,UIView 做为 Layer 的 CALayerDelegate,View
2016-03-13 22:22:08 290
原创 响应者链条
发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件 队列中,UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常,先发送事件给应用程序的主窗口(keyWindow) UIView不接受触摸事件的三种情况: 不接收用户交互 userInteractionEnabled = NO 隐藏 hidden = YE
2016-03-07 13:19:15 217
原创 iOS ARC下内存泄露的几种情况和解决办法
1.循环参照 A有个属性参照B B有个属性参照A 如果都是strong类型的话 就会造成谁都不会被释放掉 造成内存泄露 常发生于代理声明为strong类型 把strong 改为 weak 即可。 2.死循环 如果某个VC里有无限循环 也会导致即使VC里的view 关掉了 也会导致VC不能被释放 常发生于animation动画处理 注意在VC关掉的时候 要将其remove掉。
2016-03-03 10:21:05 416
原创 iOS
1.UIButton和UITableView的层级结构。 2.Foundation对象和Core Foundation对象通过什么关键字进行转换,这几个关键字都有什么区别。 3.多线程安全的几种解决办法。 4.什么情况下会发生内存泄露和内存溢出。 5.iOS json解析数据会发生内存泄露吗,如果会,怎么解决。 6.socket如何进行通信。 1.UIButton和UITa
2016-03-02 14:14:17 279
转载 NSRunLoop
做了一年多的IOS开发,对IOS和Objective-C深层次的了解还十分有限,大多还停留在会用API的级别,这是件挺可悲的事情。想学好一门语言还是需要深层次的了解它,这样才能在使用的时候得心应手,出现各种怪异的问题时不至于不知所措。废话少说,进入今天的正题。 不知道大家有没有想过这个问题,一个应用开始运行以后放在那里,如果不对它进行任何操作,这个应用就像静止了一样,不会自发的有任何动作发生
2016-03-01 22:01:10 208
原创 如何处理UI与耗时操作的通信
1.将耗时的计算和IO操作 放到子线程中去,然后回到主线程刷新UI。 2.采用预加载方式,将耗时操作提前处理。优点:可让UI更流畅。缺点:内存会增多,控制加载逻辑比较复杂。 3.采用延迟加载方式,将耗时操作而不立即使用的,采用延时加载。优点:提高界面的流畅度。缺点:需要显示时才加载,要稍微等待一会。
2016-03-01 15:27:56 398 1
原创 深拷贝和浅拷贝
深拷贝:复制对象的本身。 浅拷贝:只复制对象的指针,不复制对象的本身。 深拷贝后,会存在两个独立的对象。 浅拷贝后,对象还是一份,但是会有两个指针指向他,如果我们修改了拷贝的指针,那么对象也会被修改。
2016-02-29 18:07:47 234
转载 堆和栈的区别
在管理方法上:对于栈,由编译器自动管理,无需我们手动控制。对于堆,释放工作由程序员控制,容易产生内存泄露。 在申请大小上:栈是向低地址扩展的数据结构,是一块连续的内存区域。堆是向高地址扩展的数据结构,是不连续的内存区域。 在分配方式上:堆都是动态分配的,动态分配有alloc函数进行分配。栈的动态分配由编译器进行释放,无需我们手工实现。
2016-02-29 18:01:47 239
原创 iOS 类别 (category)和 类扩展 (extension)的区别
category 可以不用继承系统类,直接给系统添加新的方法,最大程度的体现了oc语言的动态语言特性。 注意:1.category的方法不一定非要在@implementation中实现,也可以在其他位置实现,但是当调用category的方法时,继承树没有找到该方法的实现,程序就会崩溃。 2.category不能添加成员变量,但是可以使用@dynamic弥补这种不足。(既运行时runtime)
2016-02-29 17:46:56 418
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人