自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (1)
  • 收藏
  • 关注

转载 CIFilter的种类

//Iphone中目前可用的     CIAdditionCompositing     //影像合成    CIAffineTransform           //仿射变换    CICheckerboardGenerator       //棋盘发生器    CIColorBlendMode              //CIColor混合模式   

2016-09-09 14:56:48 1892

转载 iOS动画浅汇

在iOS开发中,制作动画效果是最让开发者享受的环节之一。一个设计严谨、精细的动画效果能给用户耳目一新的效果,吸引他们的眼光 —— 这对于app而言是非常重要的。我们总是追求更为酷炫的实现,如果足够仔细,我们不难发现一个好的动画通过步骤分解后本质上不过是一个个简单的动画实现。本文就个人搜集的一些动画相关的理论和实践知识做个小结,不足之处请勿见怪。理论 UIview VS UIlayer

2016-05-10 15:23:11 234

原创 Invalid Swift Support / invalid implementation of swift

Go to build settings and make flag Embedded Content Contains Swift Code ->YES, if your code contains partial swift code or entirely made in SwiftArchive your build using Xcode->Product->ArchiveExpor

2016-05-05 20:03:12 491

转载 关于Cocoapods安装的小细节错误

分类:iOS1、ERROR:  While executing gem ...(Errno::EPERM)    Operationnot permitted - /usr/bin/fuzzy_matchsudo gem install -n /usr/local/bin cocoapods2、Updating local specs repos

2016-05-05 19:55:09 237

转载 iOS开发技巧系列 使用Swift反射

iOS Runtime目前存在的问题关于iOS Runtime的文章有很多,在简书里一搜就能找出一大堆,但是大多数都是介绍什么是iOS Runtime及怎么使用Runtime。其实基于Objc的Runtime是iOS开发的黑魔法,甚至可以是说奇技淫巧,比如神奇的Method Swizzle可以交换任何iOS的系统方法,在里面加上自己定义的一些功能。再比如消息转发机制,又比如说一些位于中的方法,

2016-05-05 19:52:53 517

转载 iOS开发技巧系列---打造强大的BaseModel

将JSON转化为Model的意义在iOS开发中,基于Model的数据流起到了至关重要的作用。从网络获取的数据需要进一步处理转到成View可用的Model,再通过ViewController传送给View展示出来,从View中反馈的数据也可以转为为Model,再将Model转化成JSON发送给服务器。通常开发过程中需要最频繁处理的还是将JOSN转化成对应的Model,目前市面上许多非常好用的JS

2016-05-05 19:49:23 327

转载 runtime简介

runtime简介RunTime简称运行时。OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制。对于C语言,函数的调用在编译的时候会决定调用哪个函数。对于OC的函数,属于动态调用过程,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。事实证明:在编译阶段,OC可以调用任何函数,即使这个函数并未实现,只要声明过就不

2016-05-05 19:47:52 175

转载 iOS,一行代码进行RSA、DES 、AES、MD5加密、解密

最近做了一个移动项目,是有服务器和客户端类型的项目,客户端是要登录才行的,服务器也会返回数据,服务器是用Java开发的,客户端要同时支持多平台(Android、iOS),在处理iOS的数据加密的时候遇到了一些问题。起初采取的方案是DES加密,老大说DES加密是对称的,网络抓包加上反编译可能会被破解,故采取RSA方式加密。RSA加密时需要公钥和私钥,客户端保存公钥加密数据,服务器保存私钥解密数据。(

2016-05-05 19:41:58 492

转载 KVC

ios开发UI篇—KVC简单介绍一、KVC简单介绍KVC key valued coding 键值编码KVC通过键值间接编码补充:与KVC相对的时KVO,即key valued observer 键值观察。监听某一个模型的属性,只要模型属性的值一变化就通知你。二、使用KVC1.KVC基本使用介绍(1)代码示例:新建一个命令行项目,用以演示KVC的用法完成之后

2016-05-05 19:39:43 182

转载 Objective-C之run loop详解

Objective-C之run loop详解 做了一年多的iOS开发,对IOS和Objective-C深层次的了解还十分有限,大多还停留在会用API的级别,这是件挺可悲的事情。想学好一门语言还是需要深层次的了解它,这样才能在使用的时候得心应手,出现各种怪异的问题时不至于不知所措。废话少说,进入今天的正题。不知道大家有没有想过这个问题,一个应用开始运行以后放在那里,如果不对它

2016-05-05 19:34:09 180

转载 Quartz 2D编程指南 - 变换

Quartz 2D 绘制模型定义了两种独立的坐标空间:用户空间(用于表现文档页)和设备空间(用于表现设备的本地分辨率)。用户坐标空间用浮点数表示坐标,与设备空间的像素分辨率没有关系。当我们需要一个点或者显示文档时, Quartz会将用户空间坐标系统映射到设备空间坐标系统。因此,我们不需要重写应用程序或添加额外的代码来调整应用程序的输出以适应不同的设备。我们可以通过操作CTM(current

2016-01-18 17:02:46 263

转载 Quartz 2D编程指南(1) - 概览

1:原文链接地址:http://www.cocoachina.com/bbs/read.php?tid=77731&page=1Quartz 2D是一个二维图形绘制引擎,支持iOS环境和Mac OS X环境。我们可以使用Quartz 2D API来实现许多功能,如基本路径的绘制、透明度、描影、绘制阴影、透明层、颜色管理、反锯齿、PDF文档生成和PDF元数据访问。在需要的时候,Quartz

2016-01-18 16:54:58 204

转载 Multimedia Programming Guide--多媒体编程指南

Multimedia Programming Guide--多媒体编程指南http://supershll.blog.163.com/blog/static/3707043620125112320880/Multimedia Programming Guide1,使用Audio(音频)iOS提供了丰富的工具来操作声音.这些工具被安排的frameworks中,如下

2015-10-22 12:08:05 470

转载 iOS应用内付费(IAP)开发步骤列表

配置Developer.apple.com登录到Developer.apple.com,然后进行以下步骤:为应用建立建立一个不带通配符的App ID用该App ID生成和安装相应的Provisioning Profile文件。配置iTunes Connect登录到iTunes Connet,然后进行以下步骤:用该App ID创建一个新的应用。

2015-07-31 13:35:42 286

转载 IOS Quartz 各种绘制图形用法

- (void)drawRect:(CGRect)rect  {      CGContextRef context = UIGraphicsGetCurrentContext();                       /*NO.1画一条线             CGContextSetRGBStrokeColor(context, 0.5, 0.5, 0

2015-05-29 16:10:57 279

原创 将UINavigationController 设成透明的

NSArray *arr =self.navigationController.navigationBar.subviews;   for (id objin arr) {       if ([obj isKindOfClass:[UIImageViewclass]] ) {           UIImageView *imageV = (UIImageVi

2015-05-26 15:46:55 343

转载 初始化游戏状态数据(3)

13.3.2  初始化游戏状态数据(3)程序中的粗体字代码控制了只设置i % 2 == 0的列,也就是只设置索引为偶数的列,该子类初始化的游戏界面如图13.8所示。  3.横向排列的方块横向排列的方块以水平的空行分隔开,该子类的代码如下。程序清单:codes/13/Link/Link/sources/board/FKHorizontalBoa

2015-05-26 15:24:02 402

转载 CGImage与CGImageRef

12.1.2  CGImage与CGImageRefUIImage虽然可以加载、显示各种格式的位图,甚至可以同时加载图片,接下来依次播放多张图片形成动画。但UIImage的功能依然有限,它不能对图片进行缩放、旋转,不能"挖取"源图片的指定区域等,这些功能可借助Quartz 2D的CGImageRef来实现。关于Quartz 2D绘图的知识,后面会详细介绍,包括如何利用CGImage

2015-05-26 15:23:07 621

转载 初始化游戏状态数据(2)

13.3.2  初始化游戏状态数据(2)由于《疯狂连连看》游戏的初始状态可能有很多种,比如,横向分布的方块、竖向分布的方块、矩阵排列的方块、随机分布的方块等,该程序为了考虑以后的扩展性,此处只采用了模板模式:FKBaseBoard基类负责完成通用的代码,对于暂时无法确定的需要子类实现的部分定义成createPieces:方法。由于Objective-C没有提供抽象类和抽象方法的概念

2015-05-26 15:21:45 542

转载 初始化游戏状态数据(1)

13.3.2  初始化游戏状态数据(1)为了初始化游戏状态,程序需要创建一个NSArray数组,为此,程序定义一个FKBaseBoard基类,该基类的代码如下。程序清单:codes/13/Link/Link/sources/board/FKBaseBoard.h@interface FKBaseBoard : NSObject  - (NSArray*) createP

2015-05-26 15:21:06 866 1

转载 游戏的状态数据模型

第13章 疯狂连连看本章要点开发单机休闲游戏的基本方法单机游戏的界面分析单机游戏的游戏界面与数据建模开发单机游戏的界面组件初始化单机游戏的状态自定义UIView开发游戏主界面使用Quartz 2D绘制游戏界面实现游戏的视图控制器定义事件监听器实现游戏的人机交互分情况分析游戏的逻辑处理针对不同情况提供实现

2015-05-26 15:19:32 651

转载 游戏开发 定义数据模型

13.3.1  定义数据模型《疯狂连连看》的游戏界面是一个n×m的"网格",每个网格上显示一张图片,对游戏开发者来说,这个网格只需要用一个二维数据来定义,而每个网格上所显示的图片对底层的数据模型来说,不同的图片对应于不同的数值即可。图13.6显示了数据模型的示意。  对于图13.6所示的数据模型,只要让数值为0的网格上不绘制图片,其他数值的网格则绘制相应的图

2015-05-26 15:19:01 371

转载 在内存中绘图

前面介绍的都是通过扩展UIView、重写drawRect:方法进行绘图,这种绘图方式是直接在UIView控件上绘制所有的图形--由于每次该控件显示出来时,drawRect:方法都会被调用,这意味着每次该控件显示出来时,程序都需要重绘所有的图形,很明显,这种方式的性能并不好。除此之外,总有些时候需要在内存中绘制图片,这样既可导出到手机本地,也可上传到网络上。与直接在UIView控件上绘图不同

2015-05-26 15:18:54 288

转载 绘制曲线 Quartz 2D

Quartz 2D提供了CGContextAddCurveToPoint()和CGContextAddQuadCurveToPoint()两个函数向CGContextRef的当前路径上添加曲线,前者用于添加贝塞尔曲线,后者用于添加二次曲线。绘制贝塞尔曲线的示意图如图12.10所示。从图12.10可以看出,确定一条贝塞尔曲线需要4个点:开始点、第一个控制点、第二个控制点和结束点。  

2015-05-26 15:16:57 356

转载 使用路径(3)Quartz 2D

借助CGContextAddArcToPoint()和CGContextAddLineToPoint()函数可以非常容易地实现添加圆角矩形路径的方法(所谓圆角矩形,就是在矩形的每个角都绘制一段90°的圆弧)。除此之外,还有CGContextMoveToPoint(CGContextRef c, CGFloat x, CGFloat y)函数用于把绘制点移动到指定位置,借助这些方法还可以绘制任意的多

2015-05-26 15:16:17 226

转载 Quartz 2D 使用路径(2)

除此之外,Quartz 2D还提供了如下函数来获取当前CGContextRef所包含的路径信息。bool CGContextIsPathEmpty(CGContextRef c):该函数用于判断指定CGContextRef包含的路径是否为空。CGPoint CGContextGetPathCurrentPoint(CGContextRef c):该函数用于返回指定CGContext

2015-05-26 15:15:32 250

转载 绘制文本

CGContextRef为绘制文字提供了如下函数。CGAffineTransform CGContextGetTextMatrix(CGContextRef c):获取当前对文本执行变换的变换矩阵。CGPoint CGContextGetTextPosition(CGContextRef c):获取该CGContextRef中当前绘制文本的位置。CGContextSelec

2015-05-26 15:15:30 742

转载 点线模式(2)

上面的控制器中用到了一个自定义控件类:FKDashLineView,当用户通过UISlider调整phase或通过按钮重设phase时,程序都会修改FKDashLineView的dashPhase属性,从而改变该自定义控件的绘制外观;当用户通过UIPickerView选择不同的列表项时,程序会调用FKDashLineView的setDashPattern:count:方法。下面是FKDas

2015-05-26 15:14:57 484

转载 使用路径(1)Quartz 2D

正如前面提到的,Quartz 2D只提供了绘制矩形、椭圆的函数,并没有直接提供绘制圆角矩形、三角形等几何图形的函数。为了绘制更复杂的图形,必须启用路径。表12.4列出了Quartz 2D为创建路径提供的函数。表12.4  创建路径的相关函数 函数签名简要说明void CGContextBeginPath(CGContextRef

2015-05-26 15:14:55 245

转载 设置阴影

前面已经介绍了CGContextRef为设置图形阴影提供了如下两个函数。void CGContextSetShadow(CGContextRef context, CGSize offset, CGFloat blur):该函数设置阴影在X、Y方向上的偏移,并设置阴影的模糊程度。该函数的offset包含两个CGFloat值,第1个CGFloat值控制阴影在X方向的偏移,如果该值为正,则向右

2015-05-26 15:14:17 481

转载 Quartz 2D 点线模式

12.2.3  点线模式(1)使用Quartz 2D绘制线段或边框时,默认总是使用实线。如果希望使用点线进行绘制,可调用CGContextRef的CGContextSetLineDash(CGContextRef c,CGFloat phase, const CGFloat lengths[],size_t count)函数进行设置,该函数的第3个参数是点线模式的关键,该参数是一个CGFl

2015-05-26 15:12:29 313

转载 绘制几何图形

12.2.2  绘制几何图形从表12.2不难看出,Quartz 2D只提供了方法来绘制线段、矩形和椭圆,如果需要绘制更复杂的图形,则需要借助路径。下面的程序先使用这些方法来绘制几个简单的图形。新建一个Single View Application,该应用包含应用程序委托类、视图控制器类和配套的SStoryboard界面设计文件,本例无须修改应用程序委托和视图控制器类,只需要

2015-05-26 15:11:46 312

转载 Quartz 2D绘图基础:CGContextRef

12.2  Quartz 2D绘图Quartz 2D绘图的核心API是CGContextRef,该API专门用于绘制各种图形。12.2.1  Quartz 2D绘图基础:CGContextRef使用Quartz 2D绘图的关键步骤有两步:获取CGContextRef;调用CGContextRef的方法进行绘图。不同场景下获取CGContextRef的方式各不相同,下面介绍iOS开发

2015-05-26 15:10:11 359

转载 IOS开发之__bridge,__bridge_transfer和__bridge_retained

Core Foundation 框架Core Foundation框架 (CoreFoundation.framework) 是一组C语言接口,它们为iOS应用程序提供基本数据管理和服务功能。下面列举该框架支持进行管理的数据以及可提供的服务:群体数据类型 (数组、集合等)程序包字符串管理日期和时间管理原始数据块管理偏好管理URL及数据流操作线程和RunLoo

2015-05-21 11:33:42 187

转载 ios(CoreAnimation核心动画 一) CABasicAnimation动画与锚点

一、position和anchorPointposition:用来设置CALayer在父层中的位置,以父层的左上角为原点(0, 0)anchorPoint(锚点):称为“定位点”、“锚点”决定着CALayer身上的哪个点会在position属性所指的位置以自己的左上角为原点(0, 0)它的x、y取值范围都是0~1,默认值为(0.5, 0.

2015-05-20 16:51:20 302

转载 CALayer中anchorPoint和position的用法

每当修改一个CALayer的anchorPoint属性时,都要重新设置CALayer的position坐标1.CALayer *layer = [myView layer];2.[layer setAnchorPoint:CGPointMake(1.0, 1.0)];3.[layer setPosition:CGPointMake(layer.position.x + laye

2015-05-19 18:14:28 223

转载 iOS 应用架构谈:view 层的组织和调用方案

iOS 应用架构谈:view 层的组织和调用方案iOS应用架构谈 开篇iOS应用架构谈 view层的组织和调用方案iOS应用架构谈 网络层设计方案iOS应用架构谈 动态部署方案iOS应用架构谈 本地持久化方案前言《iOS应用架构谈 开篇》出来之后,很多人来催我赶紧出第二篇。这一篇文章出得相当艰难,因为公司里的破事儿特别多,我自

2015-05-19 18:13:49 436

转载 Mantle 初步使用

最近接触到了Mantle这个东西,感觉很不错,在此与各位分享一下。前言在开发的过程中,我们常常会从网络获取数据,而数据通常又为JSON格式。 这时比较常见的做法是把JSON数据转为Model对象,这样我们可以从Model对象的属性读取数据。 但是常常会面临如下一些问题:每次都要用 -initWithDictionarty:(NSDictionary *)di

2015-05-19 18:13:10 277

转载 使用Mantle处理Model层对象

我们都会在开发中遇到如何对Model层对象进行建模的问题,比如,将服务器请求下来的json转换为我们本地的Object。这部分,有许多令人讨厌的代码要写,比如类型的转换、json的解析等等,没有什么技术含量,但是又必须去写。当我们习惯了这种方式后,我们往往就麻木了,认为这些东西是必须要写的,所以,虽然很痛苦很恶心,但是还是会硬着头皮去写,去写那些可恶的代码。那么,真的没有更好的解决

2015-05-19 18:06:38 228

转载 UIBezierPath

使用UIBezierPath类可以创建基于矢量的路径,这个类在UIKit中。此类是Core Graphics框架关于path的一个封装。使用此类可以定义简单的形状,如椭圆或者矩形,或者有多个直线和曲线段组成的形状。    1.Bezier Path 基础   UIBezierPath对象是CGPathRef数据类型的封装。path如果是基于矢量形状的,都用直线和曲线段去创建

2015-05-19 18:05:07 278

数据库SQL文档

iOS数据库SQL开发常用功能简单总结文档

2016-01-18

空空如也

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

TA关注的人

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