自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 IOS CoreText --- 图文混排之代码封装

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。上一节中,我详细的讲解了用面向对象的思想将Core Text的纯C语言的代码进行了封装。这一节,我将对“图文混排”的效果也进行封装工作。不过,这一节的代码是基于上一节的,所以,如果你没有浏览过上一节的内容,请点击这里。先看看最终的效果图:现在,我们就来对上一节的代码,继续扩充。1. 添加了图片信息...

2015-05-31 11:02:21 2596 1

原创 IOS CoreText --- 代码封装

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。前几节中,我转载他人的博客,详细的描述了Core Text的基本概念及使用,但看上去他所提供的demo是面向过程的,代码不容易管理及维护。接下来几节,我将逐步封装Core Text代码,让其看起来不那么凌乱(因为Core Text是纯C的语法)。下面,我们先看一张 “iOS Text Design...

2015-05-30 08:15:41 2807 2

转载 IOS CoreText --- 图文混排

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。利用CORETEXT进行图文混排。实现代码:[cpp] view plaincopyvoid RunDelegateDeallocCallback( void* refCon ){        }    CGFloat RunDelegateGetAscentCallback( void *re...

2015-05-29 09:07:10 1299

转载 IOS CoreText --- 段落样子CTParagraphStyle

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。在前面一篇文章中,介绍了属性文字的基本使用,本章节主要针对文字的段落样式展开演示说明。先定义一段演示文字(文字中有中,英文)。[cpp] view plaincopyNSString *src = [NSString stringWithString:@"其实流程是这样的: 1、生成要绘制的NSA...

2015-05-29 09:04:47 1410

转载 IOS CoreText --- 行 CTLineRef

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。前面两篇文章介绍了文字的样式,段落样式。本文章主要介绍行模式。CTLineRef知识了解:1.字符(Character)和字形(Glyphs)排版系统中文本显示的一个重要的过程就是字符到字形的转换,字符是信息本身的元素,而字形是字符的图形表征,字符还会有其它表征比如发音。 字符在计算机中其实就是一...

2015-05-29 09:04:30 2042

转载 IOS CoreText --- 基本用法

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。CoreText 框架中最常用的几个类:CTFontCTFontCollectionCTFontDescriptorCTFrameCTFramesetterCTGlyphInfoCTLineCTParagraphStyleCTRunCTTextTabCTTypesetter先来了解一下该框架的整体...

2015-05-29 09:01:11 1279

原创 Quartz 2D 屏幕解锁

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。上一节中,我讲解了利用Quartz 2D完成的涂鸦功能,其实主要是利用了贝塞尔曲线来完成的。可以发现,涂鸦效果中,绘制出来的,一般都是曲线效果。这一节,我讲解利用贝塞尔曲线画直线的案例:屏幕解锁。先看看最终效果图。这个demo就是仿真“支付宝屏幕解锁”的效果。1. 分析UI, 有三张图片:一张大的...

2015-05-28 09:26:51 1207

原创 Quartz 2D 涂鸦

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。这一节,我将介绍使用Quartz 2D实现的一个实例 -- 涂鸦。在介绍直接,先介绍一下贝塞尔曲线的基本概念。Bezier Path 基础   UIBezierPath对象是CGPathRef数据类型的封装。path如果是基于矢量形状的,都用直线和曲线段去创建。我们使用直线段去创建矩形和多边形,使...

2015-05-27 08:43:00 1473

原创 Quartz 2D 常用简单功能汇总

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。跑马灯跑马灯, 就是类似于电子屏幕上面无限滚动的广告效果。实现原理很简单,就是开启一个定时器,实时的刷新,即调用[self setNeedsDisplay]进行重绘,如有不理解的,请参考我上一节的博客,请点击这里。跑马灯实现的代码大致如下:- (void)awakeFromNib { CA...

2015-05-26 09:16:03 1038

原创 Quartz 2D 请求上下文与强制重绘

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。CGContextRef 在调用drawRect:方法之前,视图对象会自动配置其描画环境,使代码可以立即进行描画。作为这些配置的一部分,UIView 对象会为当前绘制环境创建一个图形上下文,这个上下文就是CGContextRef 封装类型。CGContextRef的对象是以栈的形式存放的,把对象放...

2015-05-25 09:17:49 1157

原创 Quartz 2D基本绘图

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。上一节中,我引用别人的文章,详细的讲解了Quartz 2D的基本概念。想了解的,请点击这里。这一节用几个小Demo,来说明Quartz 2D的绘图功能。 1. 我们先定义一个用来绘图的View(DrawView,它继承自UIView),并准备在下面的方法中实现绘图工作。- (void)drawRe...

2015-05-24 07:59:03 1342

转载 Quartz 2D基本介绍

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。IOS开发应用之Quartz 2D学习指南是本文要介绍的内容,主要是来学习Quartz 2D的使用方法和操作。在IOS中,Quartz 2D像Core Animation,OpenGL ES和UIKit类一样工作于可用的图形和动画技术。1.The PageQuartz 2D使用painter mo...

2015-05-24 07:40:57 1658

原创 UICollectionView详解五:瀑布流

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。前面四个章节,我已经详细的讲解了UICollectionView的使用,这一节,我用一个非常实用的例子“瀑布流”来进一步说明UICollectionView的强大作用。先分析一下瀑布流的特点:1. 所有item的宽度是一致的。2. 所有item应该是等比例缩放的。3. 所有item的高度应该是通过...

2015-05-23 08:38:47 5352 5

原创 UICollectionView详解四:焦点图

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。前三节中,我已经对UICollectionView的基本用法进行了详细的介绍。这一节就UICollectionView的实际使用 --- "焦点图" 进行剖析说明。废话不多说,先看最终实现效果图:需求说明:1.准备了五张图片2.定时滚动显示3.右下角的分页指示器也实时切换4.可以手动拖拽图片滚动为...

2015-05-22 09:17:38 4384

原创 UICollectionView详解三:UICollectionViewLayout

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。上一节中,我介绍了UICollectionViewFlowLayout的使用,它主要是使用在流式布局中的,但对于某些复杂的布局,UICollectionViewFlowLayout就不起作用了。这个时候,我们可以考虑使用UICollectionViewLayout。 UICollectionVie...

2015-05-21 09:27:42 5436

原创 UICollectionView详解二:UICollectionViewFlowLayout

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。UICollectionViewFlowLayout是一个具体的layout对象,用来把item布局在网格中,并且可选页眉和页脚。在collection view中的items,可以从一行或者一列flow至下一行或者下一列(行或者列取决于滚动的方向)。每行都会根据情况,包含尽可能多的Cells。C...

2015-05-20 13:29:00 15508

原创 UICollectionView详解一:基本介绍

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。UICollectionView 和 UICollectionViewController 类是iOS6 新引进的API,用于展示集合视图,布局更加灵活,可实现多列布局,用法类似于UITableView 和 UITableViewController 类。我们来按顺序看下面四幅图。可以看出,UIC...

2015-05-19 13:34:54 6337

原创 浅谈autolayout

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。Autolayout是基于约束的,描述性的布局系统。关键词:基于约束 - 和以往定义frame的位置和尺寸不同,AutoLayout的位置确定是以所谓相对位置的约束来定义的,比如x坐标为superView的中心,y坐标为屏幕底部上方10像素等描述性 - 约束的定义和各个view的关系使用接近自然语...

2015-05-18 09:33:30 1459

原创 UIWindow使用介绍

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。我们在平时的开发过程中,也许忽略了UIWindow。因为系统已经帮我们处理了它的相关操作。比如在程序启动过程中。调用makeKeyAndVisible方法,使整个程序界面可见。- (BOOL)application:(UIApplication *)application didFinishLau...

2015-05-17 08:05:10 3374

原创 事件的产生与传递 及 响应者链条

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。事件的产生与传递正如我上图所总结的:1.左边部分:我总结了事件传递的流程2.中间部分:举例说明了实际情况3.右边部分:一个View不能接受事件的情况响应者链条左边的情况,接收事件的initial view如果不能处理该事件并且她不是顶层的View,则事件会往它的父View进行传递。initial ...

2015-05-16 08:15:11 1469

原创 IOS中的生命周期及加载过程

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。这一节,主要讲解UIKit框架下,应用程序的生命周期,UIView的生命周期,异常处理流程及控制器的加载过程。四大对象关系图应用程序生命周期对上面的流程进行说明:1. 程序启动执行,先进入main函数:int main(int argc, char * argv[])2. 执行UIApplicat...

2015-05-15 08:57:35 2300

原创 抽取UITableView的DataSource代理方法及同一份View能接受不同模型数据

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。View controllers 通常是 iOS 项目中最大的文件,并且它们包含了许多不必要的代码。所以 View controllers 中的代码几乎总是复用率最低的。比如UITableView常规用法如下:传统使用方法1. 定义数据模型@interface LFPhoto : NSObject...

2015-05-14 09:32:17 1799

转载 深入理解Scroll Views

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。可能你很难相信 UIScrollView 和一个标准的 UIView 差异并不大,scroll view 确实会多出一些方法,但这些方法只是和 UIView 的属性很好的结合到一起了。因此,在要想弄懂 UIScrollView 是怎么工作之前,你需要先了解一下 UIView,特别是视图渲染的两步过...

2015-05-14 09:10:35 530

转载 绘制像素到屏幕上

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。一个像素是如何绘制到屏幕上去的?有很多种方式将一些东西映射到显示屏上,他们需要调用不同的框架、许多功能和方法的结合体。这里我们大概的看一下屏幕之后发生的事情。当你想要弄清楚什么时候、怎么去查明并解决问题时,我希望这篇文章能帮助你理解哪一个 API 可以更好的帮你解决问题。我们将聚焦于 iOS,然而...

2015-05-14 09:08:03 830

转载 Objective-C之run loop详解

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。深入理解RunLoop由 ibireme | 2015-05-18 | iOS, 技术RunLoop 是 iOS 和 OSX 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunL...

2015-05-13 09:32:14 1638

原创 自定义NSOperation

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。上一节,我对NSOperation的基本概念及使用进行了介绍,想要了解的,请点击这里。本节中,我介绍自定义NSOperation实现多线程异步下载图片,类似于SDWebImage。自定义NSOperation的步骤很简单,重写 - (void)main方法,在里面实现想执行的任务。重写 - (vo...

2015-05-13 09:01:32 1449

原创 NSOperation使用介绍

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。NSOperation其实是对GCD进行了面向对象层面的封装。配合使用NSOperation和NSOperationQueue也能实现多线程编程。配合使用NSOperation和NSOperationQueue实现多线程编程的步骤:1.先将需要执行的操作封装到一个NSOperation对象中2.然...

2015-05-12 09:53:15 1221

原创 GCD使用详解

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。1.什么是GCD全称是Grand Central Dispatch,可译为“牛X的中枢调度器”纯C语言,提供了非常多强大的函数2.GCD的优势GCD是苹果公司为多核的并行运算提出的解决方案GCD会自动利用更多的CPU内核(比如双核、四核)GCD会自动管理线程的生命周期(创建线程、调度任务、销毁线程...

2015-05-11 09:06:22 2759

原创 NSThread使用详解

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。上一节中,我转载他人的文章,对多线程的理论知识进行了大致的描述,如果想了解的话,请点击这里。接下来的几节内容,我将一一介绍各自的使用。1. NSThread相关的主要方法:创建、启动线程NSThread *thread = [[NSThread alloc] initWithTarget:self...

2015-05-10 08:37:47 3865

转载 并发编程

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。并发所描述的概念就是同时运行多个任务。这些任务可能是以在单核 CPU 上分时(时间共享)的形式同时运行,也可能是在多核 CPU 上以真正的并行方式来运行。OS X 和 iOS 提供了几种不同的 API 来支持并发编程。每一个 API 都具有不同的功能和使用限制,这使它们适合不同的任务。同时,这些 ...

2015-05-10 08:01:55 1316

原创 AFN使用介绍

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。前三节,我详细的介绍了ASI的概念及基本使用。如果想了解的,请点击这里。由于AFN与ASI有很多相似的地方,所以我打算用一节的篇幅来介绍AFN。下载地址: https://github.com/AFNetworking/AFNetworkingAFN即AFNetworiking,AFN的主要结构如...

2015-05-09 07:53:30 1849

原创 ASI使用介绍(文件下载)

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。前两节,我介绍了ASI的“同步与异步”及“文件上传”的知识,如有什么疑问的,请点击这里。这一节通过一个简单的例子,介绍一下通过ASI实现文件的下载。界面很简单,"Start": 开始下载; “Stop”: 暂停下载; 支持断点续传。1.要定义一个request成员属性,对ASI的request对象...

2015-05-08 09:07:55 4618

原创 ASI使用介绍(Post与文件上传)

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。上一节中,介绍了ASI的基本使用,而且默认的使用方式都是Get请求方式。如有疑问,请点击这里。Get请求是从url中传递参数的,并且一般是要向服务器“索要”自己想要的数据。而Post请求,一般都是表单数据的提交,请求数据的信息在请求报文中,后台服务器接受到请求信息后,会进行相应的处理,比如:登陆操...

2015-05-07 08:49:06 2023

原创 ASI使用介绍(同步与异步)

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。ASI 即  ASIHTTPRequest。 官方网站: http://allseeing-i.com/ASIHTTPRequest/ 。可以从上面下载到最新源码,以及获取到相关的资料。使用iOS SDK中的HTTP网络请求API,相当的复杂,调用很繁琐,ASIHTTPRequest就是一个对CF...

2015-05-06 08:58:58 2562

转载 iOS开发工具——网络封包分析工具Charles

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。因此,该付费方案对广大用户还是相当友好的,即使你长期不付费,也能使用完整的软件功能。只是当你需要长时间进行封包调试时,会因为Charles强制关闭而遇到影响。Charles主要的功能包括:支持SSL代理。可以截取分析SSL的请求。支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请...

2015-05-05 10:56:52 906

原创 HTTP协议

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。HTTP(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。对于IOS开发者来说,了解一些http请求的相关知识还是很有必要的。请求报文1)用http...

2015-05-05 10:02:13 896

原创 Delegate 与 Notification

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。Delegate 是协议的一种,顾名思义,就是委托他人帮自己去做什么事。也就是当自己做什么事情不方便的时候,就可以建立一个委托,这样就可以委托他人帮自己去实现什么方法。我简单的总结了一下自己用到的委托的作用有两个,一个是传值,一个是传事件。1.所谓传值经常用在b类要把自己的一个数据或者对象传给a类...

2015-05-04 09:02:27 993

原创 block详解

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。基本概念Block可以帮助我们组织独立的代码段,并提高复用性和可读性。Block的好处,我总结了下主要有2点:1.用于回调特别方便,2.可以延长对象的作用区域。为了性能,默认Block都是分配在stack(栈)上面的,所以它的作用区域就是当前函数。int main(){ int i = ...

2015-05-03 08:20:54 1204

原创 消息传递机制

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。KVO关于KVO的说明及使用,我已经在KVO章节进行了说明,不懂的,请点击这里。通知要在代码中的两个不相关的模块中传递消息时,通知机制是非常好的工具。通知机制广播消息,当消息内容丰富而且无需指望接收者一定要关注的话这一招特别有用。通知可以用来发送任意消息,甚至可以包含一个 userInfo 字典。...

2015-05-02 08:35:19 1128

原创 MJExtension框架介绍

本人录制技术视频地址:https://edu.csdn.net/lecturer/1899 欢迎观看。前两节,我介绍了runtime的基本概念和基本使用,如果没有看,请猛点这里。这一节,我介绍一个基于runtime实现字典(JSON)与模型互转的强大工具-- MJExtension 下载地址MJExtension世界上转换速度最快、使用最简单方便的字典转模型框架能做什么?MJExtension是一...

2015-05-01 08:22:22 9708

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除