IOS
文章平均质量分 73
happinessmarker
这个作者很懒,什么都没留下…
展开
-
底层、内存、数据结构、算法
image=[UIImage imageWithCVMat:dst];原创 2014-05-04 15:41:04 · 547 阅读 · 0 评论 -
CALayer-1
一、什么是CALayer* 在iOS系统中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮、一个文本标签、一个文本输入框、一个图标等等,这些都是UIView。* 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个层。* 在创建UIView对象时,UIView内部会自动创建一个层(即CALayer对象),通过UIView的layer属性可以访问这个层。当UIView转载 2013-12-17 16:03:10 · 405 阅读 · 0 评论 -
layer实例
在IOS的开发中,经常需要针对大量的UIViews进行个性化定制,这样的空间包括Button、Label、slider、web view and so on。几乎UIView的子类都可能会遇到个性化定制的时候。那么接下来就针对UIView的特性CALayer开进行一个个性化定制吧。What Are CALayers?CALayers是一个表示矩形区域内的可视内容的类,并且 任转载 2013-12-17 16:08:55 · 1348 阅读 · 0 评论 -
iOS 动画2
428+ (void)animationPushDown:(UIView *)view429{430 CATransition *animation = [CATransition animation];431 [anima转载 2013-12-16 15:55:03 · 644 阅读 · 0 评论 -
iOS7适配问题
iOS 7发布了,适配问题来了,开发者都忙起来了。先记一个iOS7 的几个特点:1.坐标:以屏幕左上角为原点(iOS7以前在状态栏或者导航条下)2.UIScrollView(包括其子类,比如UITableView):会自动在顶部和底部预留一些空白(因为滚动经过半透明导航条或者tabbar下面,需要能隐约看到的效果),是否预留空白可以由UIViewController的转载 2013-12-16 15:28:33 · 456 阅读 · 0 评论 -
iOS实现简单图文混排效果
在很多新闻类或有文字展示的应用中现在都会出现图文混排的界面例如网易新闻等,乍一看去相似一个网页,其实这样效果并非由UIWebView 加载网页实现。现在分享一种比较简单的实现方式 iOS sdk中为我们提供了一套完善的文字排版开发组件:CoreText。CoreText库中提供了很多的工具来对文本进行操作,例如CTFont、CTLine、CTFrame等。利用这些工具可以对文字字体转载 2013-12-16 15:22:30 · 449 阅读 · 0 评论 -
iOS 动画1
@interface CoreAnimationEffect : NSObject028 029#pragma mark - Custom Animation030 031/**转载 2013-12-16 15:44:35 · 432 阅读 · 0 评论 -
IOS中的动画
IOS中的动画右两大类1.UIView的视图动画2.Layer的动画 UIView的动画也是基于Layer的动画动画的代码格式都很固定1.UIView动画一般方式[UIView beginAnimations:@"ddd" context:nil];//设置动画[UIView commitAnimations]; //提交动画这两个是必须有的,然后在两句的中间添加动转载 2013-12-16 15:43:09 · 369 阅读 · 0 评论 -
IOS7 隐藏状态栏 (电池栏)
电池状态栏。//方法一(代码设置):现在ios7已经更改为透明,并且不占用屏幕高度。其中隐藏及显示的方法如下:在uiviewcontroller的子类下,调用: if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) { // iOS 7转载 2013-12-16 15:26:56 · 458 阅读 · 0 评论 -
iOS 动画3
619+ (void)animationRotateAndScaleDownUp:(UIView *)view620{621 CABasicAnimation *rotationAnimation = [CABasicAnimation animationWithKeyPath转载 2013-12-16 15:57:14 · 366 阅读 · 0 评论 -
CALayer3-层的属性
本文目录一、隐式动画属性二、position和anchorPoint回到顶部一、隐式动画属性* 在前面几讲中已经提到,每一个UIView内部都默认关联着一个CALayer,我们可用称这个Layer为Root Layer(根层)。所有的非Root Layer,也就是手动创建的CALayer对象,都存在着隐式动画。* 当对非Root Layer的部分属性进行相应的修转载 2013-12-17 16:05:21 · 334 阅读 · 0 评论 -
UIView和CALayer
1: UIView的继承结构为: UIResponder : NSObject。 可以看出UIView的直接父类为UIResponder 类, UIResponder 是gsm的呢?官方的解释:The UIResponder class defines an interface for objects that respond to and handle event转载 2013-12-17 15:35:01 · 415 阅读 · 0 评论 -
几种常用的设计模式
(一)代理模式应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现。优势:解耦合敏捷原则:开放-封闭原则实例:tableview的 数据源delegate,通过和protocol的配合,完成委托诉求。列表row个数delegate自定义的delegate(二)观察者模式应用场景:一般为model层对,controller和view进行的原创 2014-03-17 15:18:24 · 484 阅读 · 0 评论 -
iOS 主要的开源库
1. AFNetworking在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目。AFNetworking是一个轻量级的iOS、Mac OS X网络通信类库,现在是GitHub上第三大Objective-C库。它建立在NSURLConnection、NSOperation等类库的基础上,让很多网络通信功能的实现变得十分简单,因此,许多iOS应用开发都会使用到原创 2014-03-17 10:03:44 · 919 阅读 · 0 评论 -
一个iOS 框架介绍:MKNetworkKit
ASIHTTPRequest (作者:BenCopsey) 是一个使用简单,可用于各种从简单到复杂的 HTTP 请求,或者可用于处理 Amazon S3、Rackspace 等REST 服务的强大框架。不幸的是,Ben 早在 2011 年 9 月 21 日就已经声明停止开发和支持该框架(见http://allseeing-i.com/%5Brequest_release%5D; )。转载 2014-03-13 13:01:16 · 530 阅读 · 0 评论 -
Core Data 编程指南
一、技术概览1. Core Data 功能初窥 对于处理诸如对象生命周期管理、对象图管理等日常任务,Core Data框架提供了广泛且自动化的解决方案。它有以下特性。 (注:对象图-Object graph的解释:在面向对象编程中,对象之间有各种关系,例如对象直接引用另外的对象,或是通过引用链间接的引用其他对象,这些关系组成了网状的结构。我们把这些对象(和它们之间的联系转载 2013-12-20 15:44:16 · 415 阅读 · 0 评论 -
post和get的区别
今天看到了一些关于讨论post和get的区别,特贴出来和大家分享: post和get的区别post 地址栏不会出现一大串?bjnghfgreygt这样的东西如果是get,就会出现了1、Get 方法通过 URL 请求来传递用户的数据,将表单内各字段名称与其内容,以成对的字符串连接,置于 action 属性所指程序的 url 后,如[url]http转载 2013-12-20 13:19:33 · 562 阅读 · 0 评论 -
ASIHTTPRequest和ASIDownloadCache实现本地缓存
需要注意的是,要做缓存的Http请求必须用get方法来获取数据。1、设置全局的Cache 在AppDelegate.h中添加一个全局变量@interface AppDelegate : UIResponder { ASIDownloadCache *myCache; } @property (strong, nonatomic) UIWindow *wi转载 2013-12-20 11:03:23 · 424 阅读 · 0 评论 -
CALayer4-自定义层
本文目录一、自定义层的方法1二、自定义层的方法2 三、其他自定义层,其实就是在层上绘图,一共有2种方法,下面详细介绍一下。回到顶部一、自定义层的方法1方法描述:创建一个CALayer的子类,然后覆盖drawInContext:方法,使用Quartz2D API进行绘图1.创建一个CALayer的子类 2.在.m文件中覆盖drawInConte转载 2013-12-17 16:06:35 · 395 阅读 · 0 评论 -
CALayer2-创建新的层
本文目录一、添加一个简单的图层二、添加一个显示图片的图层三、为什么CALayer中使用CGColorRef和CGImageRef这2种数据类型,而不用UIColor和UIImage?四、UIView和CALayer的选择五、UIView和CALayer的其他关系* 上一讲已经说过,UIView内部默认有个CALayer对象(层),通过layer属性可以访问这个层。要注意的是,这个默转载 2013-12-17 16:04:21 · 425 阅读 · 0 评论 -
uiview和CALayer 区别2
1.UIView是iOS系统中界面元素的基础,所有的界面元素都继承自它。它本身完全是由CoreAnimation来实现的(Mac下似乎不是这样)。它真正的绘图部分,是由一个叫CALayer(Core Animation Layer)的类来管理。UIView本身,更像是一个CALayer的管理器,访问它的跟绘图和跟坐标有关的属性,例如frame,bounds等等,实际上内部都是在访问它所包含的CAL转载 2013-12-17 16:10:29 · 362 阅读 · 0 评论 -
iOS面试2
47.kvc是什么?kvo是什么?有什么特性?48.响应者链是什么?49.unix上进程怎么通信? UNIX主要支持三种通信方式: 1. 基本通信:主要用来协调进程间的同步和互斥 (1)锁文件通信 通信的双方通过查找特定目录下特定类型的文件(称锁文件)来完成进程间 对临界资源访问时的互斥;例如进程p1访问一个临界资源,首先查看是原创 2013-12-16 15:39:08 · 425 阅读 · 0 评论 -
iOS 面试1
1.Difference between shallow copy and deep copy? 浅复制和深复制的区别? 答案:浅层复制:只复制指向对象的指针,而不复制引用对象本身。 深层复制:复制引用对象本身。 意思就是说我有个A对象,复制一份后得到A_copy对象后,对于浅复制来说,A和A_copy指向的是同一个内存资源,复制的只不过是是一个指针,对象本身资源 还是只有一份,那如果我们对A原创 2013-12-16 15:38:29 · 494 阅读 · 0 评论 -
代码注释的格式
1.先写一下个个字段对应的意思/*! @header 文件名 @abstract 简介,概念 @discussion 用途,方法 @copyright 版权 */给出一个模版/*! @header MFMailComposeViewController @abstract The MF转载 2013-12-12 13:46:48 · 717 阅读 · 0 评论 -
CoreData 数据传输对象DTO(data transfer object)
在这里以DTO来描述,稍有欠缺,DTO的引用来源于DELPHI的remberobject (RO)三层。是通过数据库结构生成的传输对象,即数据库类对象。可以将DTO或类对象统一理解为内存数据操作对象即可。在IOS中,IOS已集成好相应的工具直接生成数据库访问对象。该例子基于我前面写好的文章来创建DTO的。步骤:一,在工程上右键选择新建-》选IOS中的COREDATA-》转载 2013-12-12 13:37:24 · 674 阅读 · 0 评论 -
AVAudioPlayer 音频播放器 使用 教程
IOS中有三种播放音频的方式:AVAudioPlayer、音频服务、音频队列。 此文主要讲AVAudioPlayer,其他两个请见相关文章。AVAudioPlayer在AVFoundation框架下,所以我们要导入AVFoundation.framework。AVAudioPlayer类封装了播放单个声音的能力。播放器可以用NSURL或者NSData来初始化,要转载 2013-12-12 11:51:33 · 835 阅读 · 0 评论 -
Object-c 单例模式中的 allocWithZone作用
最近因为在ios应用开发中,考虑到一些公共方法的封装使用,就决定使用单例模式的写法了。。不知道,Object-c中的单例模式的写法是否和java中的写法是否有所区别?于是阿堂从网上一搜,发现“ Objective-C的singleton模式 ”一文被很多人转载了,其主要内容如下Apple官方建议 由于自己设计单态模式存在一定风险,主要是考虑到可能在多线程情况下会出现的问题转载 2013-12-12 11:38:44 · 412 阅读 · 0 评论 -
适配iOS7开发
iOS7可以说是苹果一次革命性的变化,这样做为一个开发者需要做的事也不少。首先苹果的view布局有所变化,现在view默认是全屏模式,而所有的bar(navigation bar, tool bar, search bars 与scope bars都是半透明),status bar则是全透明。有了这样的改变,写代码的时候就有我们折腾的了。 本文所说的适配是指:用xcode5+iOS7sdk编译的程转载 2013-12-11 11:04:26 · 458 阅读 · 0 评论 -
适配iOS7开发2
在前一篇文章中介绍了非autolayout模式下iOS7的适配工作。 今天来介绍一下autolayout下的适配工作。首先,我们用xcode4.6.3创建一个simgle view application. 选中Use storyboard.拖一个UIButton到view中。 由于开启了autoLayout, 在xcode4.6.3中,自动会有两个auto layout约束,分别转载 2013-12-11 11:05:45 · 476 阅读 · 0 评论 -
GCD
GCD介绍(一): 基本概念和Dispatch Queue什么是GCD?Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQueue更底层更高效,并且转载 2013-12-09 14:17:04 · 427 阅读 · 0 评论 -
iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用
介绍:Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统。这建立在任务并行执行的线程池模式的基础上的。它首次发布在Mac OS X 10.6 ,iOS 4及以上也可用。设计:GCD的工作原理是:让程序平行排队的特定任务,根据可用的处理资源,安排他们在任何可用的处理器核心上执行任务。转载 2013-12-09 10:57:33 · 396 阅读 · 0 评论 -
[iOS]GCD小结
0. Brief Introduction GCD,全称Grand Central Dispath,是苹果开发的一种支持并行操作的机制。它的主要部件是一个FIFO队列和一个线程池,前者用来添加任务,后者用来执行任务。 GCD中的FIFO队列称为dispatch queue,它可以保证先进来的任务先得到执行(但不保证一定先执行结束)。 通过与线程池的配转载 2013-12-09 10:55:01 · 512 阅读 · 0 评论 -
iOS的主要框架介绍
框架是一个目录,这个目录包含了共享库,访问共享库里代码的头文件,和其它的图片和声音的资源文件。一个共享库定义的方法或函数可以被应用程序调用。 IOS提供了很多你可以在应用程序里调用的框架。要使用一个框架,需要将它添加到你的项目中,你的项目才可以使用它。许多应用程序都使用了如Foundation、UIKit、和Core Graphics这些框架。根据你为应用程序选择的模版,相关的转载 2013-12-12 11:31:05 · 471 阅读 · 0 评论 -
IOS设计模式之一(MVC模式,单例模式)
iOS 设计模式-你可能已经听说过这个词,但是你真正理解它意味着什么吗?虽然大多数的开发者可能都会认为设计模式是非常重要的,然而关于设计模式这一主题的文章却不多,并且有时候我们开发者在写代码的时候也不会太关注它。 在软件设计领域,设计模式是对通用问题的可复用的解决方案。设计模式是一系列帮你写出更可理解和复用代码的模板,设计模式帮你创建松耦合的代码以便你不需要费多大力就可以改变或者替转载 2013-12-12 11:34:03 · 415 阅读 · 0 评论 -
Core Animation
第一章 核心动画概念核心动画,开发人员可以为他们的应用创建动态用户界面,而无需使用低级别的图形 API,如 OpenGL 来获取高效的动画性能。 前言,核心动画的好处1.简单易用的高性能混合编程模型。2.类似视图一样,你可以通过使用图层来创建复杂的接口。 通过是CALayer来使用更复杂的一些动画。 3.轻量级的数据结构,它可以同时显示并让上百个图层产生动画效果。转载 2013-12-14 17:46:36 · 491 阅读 · 0 评论 -
ASIHTTPRequest
ASIHTTPRequest对CFNetwork API进行了封装,并且使用起来非常简单,用Objective-C编写,可以很好的应用在Mac OS X系统和iOS平台的应用程序中。ASIHTTPRequest适用于基本的HTTP请求,和基于REST的服务之间的交互。ASIHTTPRequest功能很强大,主要特色如下:l 通过简单的接口,即可完成向服务端提交数据和从服务端获取转载 2013-12-12 13:55:36 · 388 阅读 · 0 评论 -
Core Data 自动生成及基本数据操作(4)--关系操作
在ios 中的NSRelationshipDescription中的删除规则一共有四类如下://NSNoActionDeleteRule,无任何删除动作。如:A表中的关系字段值与B表中的键值相对应,当删除B表中的数据时,A中的关系字段值保持不变。//NSNullifyDeleteRule空删除规则。如:A表中的关系字段值与B表中的键值相对应,转载 2013-12-12 13:36:28 · 483 阅读 · 0 评论 -
Core Data 自动生成及基本数据操作(3)
在前面两小节中已介结了COREDATA自动生成MODEL框架。本节主要对COREDATA进行基本的数据操作。首先为了能进行演示,动态创建了几个按钮;代码如下:- (void)CreateButton{ UIButton *newbtn = [UIButton buttonWithType:UIButtonTypeRoun转载 2013-12-12 13:35:23 · 480 阅读 · 0 评论 -
Core Data 自动生成及基本数据操作(2)
创建COREDATA时自动产生三个必要属性。NSManagedObjectContext *managedObjectContext;管理对象上下文,主要是对数据的操作,保存,访问锁等。这里理解为数据库操作的commandNSManagedObjectModel *managedObjectModel;数据模块主要是存放实体相当于表的管理模块转载 2013-12-12 13:34:44 · 489 阅读 · 0 评论 -
Core Data 自动生成及基本数据操作(1)
SDK for xcode 4.2 第一步:打开Xcode. 选择空的工程,点Next. 输入工程名这里为:coredatademo,同时记得将Use Core Data选项打上勾。因为打上勾就自动生成model文件。点next 选择工程保存的位置后点击Create进行创建工程。创建好的工程如下:第转载 2013-12-12 13:33:56 · 618 阅读 · 0 评论