03 2016 档案

摘要:可以创建基于矢量的路径,此类是Core Graphics框架关于路径的封装。使用此类可以定义简单的形状,如椭圆、矩形或者有多个直线和曲线段组成的形状等。 创建对象 工厂方法 +(instancetype)bezierPath; +(instancetype)bezierPathWithRect:(C 阅读全文
posted @ 2016-03-31 16:26 孙焱焱 阅读(274) 评论(0) 推荐(0)
摘要:0. 图片的异步下载 比如在tableview中: (UITableViewCell )tableView:(UITableView )tableView cellForRowAtIndexPath:(NSIndexPath )indexPath{ static NSString cellID = 阅读全文
posted @ 2016-03-29 18:06 孙焱焱 阅读(237) 评论(0) 推荐(0)
摘要:objc_setAssociatedObject/objc_getAssociatedObject objc_setAssociatedObject来把一个对象与另外一个对象进行关联。该函数需要四个参数:源对象,关键字,关联的对象和一个关联策略。 OBJC_EXPORT void objc_setA 阅读全文
posted @ 2016-03-28 16:14 孙焱焱 阅读(6682) 评论(0) 推荐(1)
摘要:SDWebImage 3.7.5 github地址: "SDWebImage 3.7.5" 功能 异步图片下载 异步图片缓存 GIF支持 WebP图片格式支持 后台图片解析 相同URL不会被多次下载 无效URL不会多次尝试链接 TableView加载图片使用UIImageView+WebCache分 阅读全文
posted @ 2016-03-28 15:13 孙焱焱 阅读(320) 评论(0) 推荐(0)
摘要:GCD OS X 10.8或iOS 6以及之后版本中使用,Dispatch Queue将会由ARC自动管理,不需要手动释放 队列 分为串行队列和并发队列 将多个任务提交给串行队列,多个任务只能按顺序执行,前一个任务执行完,才能开始下一个任务 将多个任务交给并发队列,并发队列可以按FIFO的顺序启动多 阅读全文
posted @ 2016-03-25 17:13 孙焱焱 阅读(299) 评论(0) 推荐(0)
摘要:使用NS_ENUM 或者 NS_OPTIONS代替enum typedef NS_ENUM(NSInteger, UITableViewCellStyle) { UITableViewCellStyleDefault, UITableViewCellStyleValue1, UITableViewC 阅读全文
posted @ 2016-03-21 14:58 孙焱焱 阅读(535) 评论(0) 推荐(0)
摘要:深拷贝 与 浅拷贝 1. 对非集合类对象的copy操作: 在非集合类对象中:对 immutable 对象进行 copy 操作,是指针复制,mutableCopy 操作时内容复制;对 mutable 对象进行 copy 和 mutableCopy 都是内容复制。用代码简单表示如下: [immutabl 阅读全文
posted @ 2016-03-21 14:52 孙焱焱 阅读(159) 评论(0) 推荐(0)
摘要:@property 的本质是什么?ivar、getter、setter 是如何生成并添加到这个类中的 @property 的本质是什么? @property = ivar + getter + setter; 下面解释下: “属性” (property)有两大概念:ivar(实例变量)、存取方法(a 阅读全文
posted @ 2016-03-21 14:47 孙焱焱 阅读(447) 评论(0) 推荐(0)
摘要:+(void)load; +(void)initialize;有什么用处? 在Objective C中,runtime会自动调用每个类的两个方法。+load会在类初始加载时调用,+initialize会在第一次调用类的类方法或实例方法之前被调用。这两个方法是可选的,且只有在实现了它们时才会被调用。 阅读全文
posted @ 2016-03-21 10:32 孙焱焱 阅读(213) 评论(0) 推荐(0)
摘要:什么是arc 自动引用计数(Automatic Reference Counting, ARC) 引用计数 手工管理、引用计数式的内存管理在iOS中是这样工作的: 当使用alloc/init(或其它类似方法)创建对象时,随同对象返回的,还有个retainCount,其值为1,表明我们获得了这个对象的 阅读全文
posted @ 2016-03-21 10:27 孙焱焱 阅读(337) 评论(0) 推荐(0)
摘要:高效添加圆角效果 逻辑思路: 切换到工作线程利用CoreGraphic API生成一个offscreen UIImage,再切换到main thread赋值给UIImageView。这里还涉及到UIImageView复用,圆角头像cache缓存(不能每次都去绘制) 设置圆角,最简单的情况下既没有 o 阅读全文
posted @ 2016-03-18 15:27 孙焱焱 阅读(1135) 评论(0) 推荐(0)
摘要:UIKit 性能优化(图层混合、光栅化、颜色格式、图片大小、离屏渲染) 图层混合 透明度设置为100% 如果某一块区域上覆盖了多个layer,最后的显示效果受到这些layer的共同影响。举个例子,上层是蓝色(RGB=0,0,1),透明度为50%,下层是红色(RGB=1,0,0)。那么最终的显示效果是 阅读全文
posted @ 2016-03-18 15:18 孙焱焱 阅读(662) 评论(0) 推荐(0)
摘要:UI控件一些问题 "如何立即触发UIButton边界事件" 问题:监听UIControlEventTouchDragExit事件,当手指离开button边界时,事件并没有触发,而是到了远离button近70个像素时才收到回调。 UIControlEventTouchDragInside // 保持按 阅读全文
posted @ 2016-03-17 15:38 孙焱焱 阅读(227) 评论(0) 推荐(0)
摘要:UIWebView 加载本地HTML页面 使用 (void)loadHTMLString:(NSString )string baseURL:(nullable NSURL )baseURL; NSString localHTMLPageName = @"myPage"; NSString path 阅读全文
posted @ 2016-03-17 14:20 孙焱焱 阅读(539) 评论(0) 推荐(0)
摘要:UIALertControl(IOS8) 在iOS 8中,UIAlertController在功能上是和UIAlertView以及UIActionSheet相同的,UIAlertController以一种模块化替换的方式来代替这两货的功能和作用。是使用对话框(alert)还是使用上拉菜单(actio 阅读全文
posted @ 2016-03-17 11:17 孙焱焱 阅读(226) 评论(0) 推荐(0)
摘要:将UILabel或UITextView中的文字设置为超链接 判断是否符合超链接格式 (BOOL)isUrlValid:(NSString )urlStr{ NSLog(@" 判断url是否合法 "); NSError error; NSString regulaStr = @"((http{0,1} 阅读全文
posted @ 2016-03-16 17:33 孙焱焱 阅读(4664) 评论(0) 推荐(0)
摘要:UIStackView简介 (IOS 9) 概述 Stack View的核心便是方便垂直或水平排布多个subview, Stack View最有用的就是它会自动为每个subview创建和添加Auto Layout constraints。当然你可以控制subview的大小和位置。可以通过选项配置su 阅读全文
posted @ 2016-03-16 14:13 孙焱焱 阅读(259) 评论(0) 推荐(0)
摘要:自定义的UICollectionViewLayout简介 UICollectionViewLayout的功能为向UICollectionView提供布局信息,不仅包括cell的布局信息,也包括追加视图和装饰视图的布局信息。 实现一个自定义layout的常规做法是继承UICollectionViewL 阅读全文
posted @ 2016-03-16 13:35 孙焱焱 阅读(2403) 评论(0) 推荐(0)
摘要:UICollectionView自定义布局 封面布局 布局文件: MKCoverFlowLayout.h import @interface MKCoverFlowLayout : UICollectionViewFlowLayout @end MKCoverFlowLayout.m import 阅读全文
posted @ 2016-03-16 13:35 孙焱焱 阅读(292) 评论(0) 推荐(0)
摘要:UI相关 view controller "UIViewcontroller简介" "自定义的UICollectionViewLayout简介" "UICollectionView自定义布局(石工布局)" "UICollectionView自定义布局( 封面布局)" UI优化: "UIKit 性能优 阅读全文
posted @ 2016-03-15 14:56 孙焱焱 阅读(254) 评论(0) 推荐(0)
摘要:IOS动画(动画调用方式) 第一种:UIView 代码块调用 _demoView.frame = CGRectMake(0, SCREEN_HEIGHT/2 50, 50, 50); [UIView animateWithDuration:1.0f animations:^{ _demoView.f 阅读全文
posted @ 2016-03-15 14:53 孙焱焱 阅读(195) 评论(0) 推荐(0)
摘要:IOS动画(CALayer、CoreAnimation简介) 一。CALayer 优点: 每个UIView上都可以放置几百个CALayer Core Animation动画在单独的线程总完成,不会阻塞主线程 Core Animation动画只重绘界面上变化的部分 提供的方法: addAnimatio 阅读全文
posted @ 2016-03-15 13:51 孙焱焱 阅读(555) 评论(0) 推荐(0)
摘要:AutoLayout 前提 1. 苹果设备 ,那么每一种屏幕尺寸都要给界面控件设定一套合适该尺寸的Frame,这种方式想想就够吓人的! 2. 另外还需要说明的是,如今确实还有不少人仍然使用设定Frame的方式进行布局,并且通过取设备屏幕的宽高进行一定比例的换算确实可以达到正确的定位布局,但是在大多数 阅读全文
posted @ 2016-03-11 18:09 孙焱焱 阅读(190) 评论(0) 推荐(0)
摘要:CADisplayLink CADisplayLink是一个能让我们以和屏幕刷新率相同的频率将内容画到屏幕上的定时器 CADisplayLink 与 NSTimer 有什么不同 1. 原理不同 CADisplayLink是一个能让我们以和屏幕刷新率同步的频率将特定的内容画到屏幕上的定时器类。 CAD 阅读全文
posted @ 2016-03-10 17:09 孙焱焱 阅读(790) 评论(0) 推荐(0)
摘要:NSObject一 objc中的类方法和实例方法有什么本质区别和联系? 类方法: 1. 类方法是属于类对象的 2. 类方法只能通过类对象调用 3. 类方法中的self是类对象 4. 类方法可以调用其他的类方法 5. 类方法中不能访问成员变量 6. 类方法中不定直接调用对象方法 实例方法: 1. 实例 阅读全文
posted @ 2016-03-09 15:15 孙焱焱 阅读(202) 评论(0) 推荐(0)
摘要:使用动画改变UILabel的背景色 当设置了UIView的backgroundColor,再去动画改变UILabel的背景色会失败 //设置背景色 label.backgroundColor = [UIColor redColor]; ... //动画修改背景色 CABasicAnimation c 阅读全文
posted @ 2016-03-08 10:31 孙焱焱 阅读(922) 评论(0) 推荐(0)
摘要:UICollectionView自定义布局(石工布局) 效果: MKMasonryViewLayout调用顺序 1. numberOfSectionsInCollectionView(dataSource) (计算section个数) numberOfItemsInSection(dataSourc 阅读全文
posted @ 2016-03-07 17:33 孙焱焱 阅读(766) 评论(0) 推荐(0)
摘要:1. NSRunLoop是IOS消息机制的处理模式 NSRunLoop的主要作用:控制NSRunLoop里面线程的执行和休眠,在有事情做的时候使当前NSRunLoop控制的线程工作,没有事情做让当前NSRunLoop的控制的线程休眠。 NSRunLoop 就是一直在循环检测,从线程start到线程e 阅读全文
posted @ 2016-03-04 17:26 孙焱焱 阅读(448) 评论(0) 推荐(0)
摘要:iOS 宏(define)与常量(const)的正确使用 当我们想全局共用一些数据时,可以用宏、变量、常量 宏: define HSCoder @"汉斯哈哈哈" 变量: NSString HSCoder = @"汉斯哈哈哈"; 常量: 四种写法: static const NSString HSCo 阅读全文
posted @ 2016-03-03 13:34 孙焱焱 阅读(522) 评论(0) 推荐(0)
摘要:AES加密(oc实现) 文件: import import @interface NSData(Encryption) (NSData )AES256EncryptWithKey:(NSString )key; //加密 (NSData )AES256DecryptWithKey:(NSString 阅读全文
posted @ 2016-03-03 11:28 孙焱焱 阅读(2058) 评论(0) 推荐(0)
摘要:常用排序(oc实现) 冒泡排序 //由小到大 排序 //NSNumber 中用的int类型 +(void)BubbleSort:(NSMutableArray )arr { NSLog(@" 冒泡排序前 :%@ ",arr); for (int i = 0; i < arr.count; i++) 阅读全文
posted @ 2016-03-03 11:19 孙焱焱 阅读(434) 评论(0) 推荐(0)