自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CFNetwork进行http网络请求

两种方式:方式一方式二(推荐)方式一:设置回调:static void myCFReadStreamClientCallBack0(CFReadStreamRef stream, CFStreamEventType type, void *clientCallBackInfo) { ViewController *vc = (ViewController *)c

2013-11-17 16:14:12 2357 1

原创 iOS音乐播放器小技巧

在没有网络的情况下,音频的后台播放比较简单,google一下可以搜到很多资料,但是如果每次歌曲的请求都是通过网络,就不成了,有时可以也扛不了几首,这里总结下实现方法,可以实现像电台一样的功能,后台播放,网络请求歌曲,Remote控制,锁屏有封面,电话和听歌打断处理等。  初始化AudioSession和基本配置音频播放器采用的AVPlayer ,自己进行了功

2013-10-06 18:27:22 3045 2

转载 ios项目icon和default 等相关图标命名规则和大小设置

目录(?)[+]转载地址:http://www.cnblogs.com/rothwell/archive/2012/05/18/2507570.html关于程序中的应用图标的大小尺寸,说的很详细,转载备用一、应用图片标准iOS控件里的图片资源,苹果已经做了相应的升级,我们需要操心的是应用自己的图片资源。就像当初为了支持iPhone 4而制作的@2x高分辨率版本(

2013-09-02 11:21:24 1143

原创 UIButton使用介绍

self.addFan = [[UIButton alloc]initWithFrame:CGRectMake(498/2, 184/2, 120/2-1, 48/2)];        self.addFan.backgroundColor = [UIColor clearColor];        //按钮背景图        [self.addFan setBackground

2013-09-02 10:41:57 1122

转载 IOS 多线程 RUNLOOP 机制 (三)

四,配置Run Loop源---配置源的过程就是源的创建调用过程配置过程分为以下几个阶段---定义/创建(一个源)---安装(将输入源安装到所在Run Loop中)---注册(将输入源注册到客户端,协调输入源的客户端)---调用(通知输入源,开始工作)4-1,定义自定义输入源创建自定义输入源需要定义以下内容1)输入源要处理的信息2)使感兴趣的客户端知道如何和输入源交互的调度例程

2013-08-25 13:23:49 1599

转载 IOS 多线程 RUNLOOP 机制 (二)

二,何时使用Run Loop对于辅助线程,在需要和线程有更多交互时,才使用Run Loop。比如:1)使用端口或者自定义输入源来和其他线程通讯2)使用线程定时器3)Cocoa中使用任何performSelector...的方法(参考Table:Performing selectors on other threads)4)使线程周期性工作三,如何使用Run Lo

2013-08-25 13:22:52 1118

转载 IOS 多线程 RUNLOOP 机制 (一)

Run Loop      Run Loop就是一个事件处理的循环,用来不停的调动工作以及处理输入事件。使用Run Loop的目的就是节省CPU效率,线程在有工作的时候忙于工作,而没工作的时候处于休眠状态。一,Run Loop剖析Structure of a Run Loop and its sources上图显示了线程的输入源A,基于端口的输入源(Port Sources

2013-08-25 13:22:04 1358

原创 iOS文件保存策略

Where You Should Put Your App’s FilesTo prevent the syncing and backup processes on iOS devices from taking a long time, be selective about where you place files inside your app’s home directory.

2013-08-24 15:43:16 1368

转载 CATransition用于场景转换

#import   CATransition *myTransition=[CATransition animation];//创建CATransition  myTransition.duration=0.3;//持续时长0.3秒  myTransition.timingFunction=UIViewAnimationCurveEaseInOut;//计时函数,从头到尾的流畅度  

2013-08-19 21:53:34 1123

原创 CGContext绘图

0 CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文1 CGContextMoveToPoint 开始画线2 CGContextAddLineToPoint 画直线4 CGContextAddEllipseInRect 画一椭圆4 CGContextSetLineCap 设置线条终点形状4 CGConte

2013-08-04 11:08:31 1609

原创 CAShapeLayer把图片做成圆形效果

利用CAShapeLayer可以制作出任意的几何图形,把它作为UIImageView的遮罩,达到把图片做成圆形效果。        //创建个人主页头部的用户头像        self.userHead = [[UIImageView alloc]initWithFrame:CGRectMake(10, 35, 80, 80)];        self.userHead.i

2013-07-31 19:38:59 3825 1

原创 NSInvocation用法

NSInvocation的使用在 iOS中可以直接调用 某个对象的消息 方式有2种一种是performSelector:withObject:再一种就是NSInvocation第一种方式比较简单,能完成简单的调用。但是对于>2个的参数或者有返回值的处理,那就需要做些额外工作才能搞定。那么在这种情况下,我们就可以使用NSInvocation来进行这些相对复杂的操作NSInvoca

2013-07-28 20:52:57 1107

原创 Block详解

Block Apple 在C, Objective-C,C++加上Block這個延申用法。目前只有Mac 10.6 和iOS4有支援。Block是由一堆可執行的程式組成,也可以稱做沒有名字的Function (Anonymous function)。如果是Mac10.6 或 iOS 4.0 之前的平台可以利用 http://code.google.com/p/plblocks/這個proj

2013-07-28 10:59:07 705

转载 时区日期处理及定时 (NSDate,NSCalendar,NSTimer,NSTimeZone)

NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间 Dates        NSDate类提供了创建date,比较date以及计算两个date之间间隔的功能。Date对象是不可改变的。        如果你要创建date对象并表示当前日期,你可以alloc一个NSDate对象并调用init初始化:C代码  NSDate *now =

2013-07-28 10:55:13 1226

转载 Block的使用详解

一,前言在前文《深入浅出Cocoa多线程编程之block与dispatch quene》中我介绍了 block 的一些基本语法以及如何和 GCD 结合的使用示例。block 是在 iOS 4 中引入的新特性,它和 C++ 11 中的 lamba 表达式概念相似,有时候也被称为闭包。经过一段时间的使用,我发现要用对用好 block 还是有不少需要注意的地方,今天就来八一八这些值得注意的事儿。

2013-07-28 10:49:28 932

原创 实现微信摇一摇功能

//创建摇一摇对象    motionManager = [[CMMotionManager alloc]init];    if (!motionManager.accelerometerAvailable) {        // fail code // 检查传感器到底在设备上是否可用         KGLogVerbose(@" fail shake....");  

2013-07-25 10:10:49 2198 1

原创 自定义状态栏UIStatusBar

类似微博发送信息时,在状态栏提示消息的效果。主要实现思想是继承UIWindow,然后设置windowlevel的级别高于UIStatusBar。最后把自定义的statusbar放置在原来的statusbar指定的位置上。#import @interface SendVoiceTipsView : UIWindow{    UILabel* messageLabel;

2013-07-24 17:11:42 2131

转载 CoreText --- 行 CTLineRef

前面两篇文章介绍了文字的样式,段落样式。本文章主要介绍行模式。CTLineRef知识了解:1.字符(Character)和字形(Glyphs)排版系统中文本显示的一个重要的过程就是字符到字形的转换,字符是信息本身的元素,而字形是字符的图形表征,字符还会有其它表征比如发音。 字符在计算机中其实就是一个编码,某个字符集中的编码,比如Unicode字符集,就囊括了大都数存在的字符。

2013-07-21 15:22:35 2167

转载 CoreText --- 段落样子CTParagraphStyle

在前面一篇文章中,介绍了属性文字的基本使用,本章节主要针对文字的段落样式展开演示说明。先定义一段演示文字(文字中有中,英文)。[cpp] view plaincopyNSString *src = [NSString stringWithString:@"其实流程是这样的: 1、生成要绘制的NSAttributedString对象。 2、生成一个CTFrameset

2013-07-21 15:21:33 2114 1

转载 CoreText --- 基本用法

API接口文档。https://developer.apple.com/library/mac/#documentation/Carbon/Reference/CoreText_Framework_Ref/_index.htmlCoreText 框架中最常用的几个类:CTFontCTFontCollectionCTFontDescriptorCTFrame

2013-07-21 15:19:57 1491

原创 iOS的开源Logger框架使用

CocoaLumberjack framework 自定义日志管理github英文链接:https://github.com/robbiehanson/CocoaLumberjack/wiki/GettingStarted入门翻译全文: 想要学习这个框架只需要三个步骤  1 把框架添加到你的应用程序  2 配置框架  3 用Lumberjack输入代替你的NSLog

2013-07-18 14:25:09 3778

原创 类似网易新闻客户端的滑动UINavigationViewController

SliderViewController.h#import //定义镜像图片的缩放比例#define kMirrorRate 0.98//定义动画方向typedef enum{    LEFT,    RIGHT} AnimationDirect;@interface SliderViewController : UINavigationCont

2013-07-17 18:25:43 2131

转载 iOS常用开源项目

1. AFNetworking在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目。AFNetworking是一个轻量级的iOS、Mac OS X网络通信类库,现在是GitHub上第三大Objective-C库。它建立在NSURLConnection、NSOperation等类库的基础上,让很多网络通信功能的实现变得十分简单,因此,许多iOS应用开发都会使用到

2013-07-15 21:03:45 1585

原创 iphone5处理屏幕分辨率

创建轻量UIDivece类别用以处理所有的屏幕分辨率[cpp] view plaincopyprint?//  //  UIDevice+Resolutions.h  //    //  //  Created by HelenSong on 12-9-25.  //  Copyright (c) 2012年 . All rights reserved.  //  

2013-07-15 16:26:19 996

转载 项目中使用国际化

前些天升级到Xcode4.5,现在正在用Xcode4.5+IOS6开发项目,当使用国际化时,遇到了一点问题,之前版本Xcode上新建Localizable.strings后,添加语言的“+”号不见了,找了半天无果,自己研究了下,后来在Stackoverflow上找到了解决方案,原来Apple把这个“+”号换地方了。下面来看看如何使用。首先新建一个名为Localizable.strings的资源

2013-07-15 15:16:16 834

转载 音频队列实现录音和播音

使用AudioQueue来实现音频播放功能时最主要的步骤,可以更简练的归纳如下。1. 打开播放音频文件2. 取得播放音频文件的数据格式3. 准备播放用的队列4. 将缓冲中的数据移动到队列中5. 开始播放6. 在回调函数中进行队列处理1.playAudio.h声明了一个Objective-C类1.playAudio.h声明了一个

2013-07-14 22:57:34 2792 1

转载 c语言函数库

C语言函数库分类函数 目录函数 进程函数 诊断函数 接口子程序 输入输出str字符串操作函数 mem操作存贮数组 数学函数 时间日期函数 转换函数分类函数,所在函数库为ctype.h[top]int isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0 int isalnum(int ch) 若ch是字母('A'-'Z','a'-

2013-07-14 11:14:35 1770

原创 iOS UIView非常有用方法及属性详解

iOS UIView非常用方法及属性详解在调用视图的drawRect:方法之前,UIKit 会自动对描画环境进行配置,使左上角成为坐标系统的原点,在这个环境中发生的Quartz 调用都可以正确地在视图中描画。 视图对象通过frame、bounds、和center 属 性声明来跟踪自己的大小和位置。frame 属性包含一个矩形,即边框矩形,用于指定视图相对

2013-07-14 11:05:56 7341

转载 iOS中的单例模式

单例模式在iOS开发过程中经常用到,苹果提供过objective c单例的比较官方的写法:[cpp] view plaincopystatic MyGizmoClass *sharedGizmoManager = nil;     + (MyGizmoClass*)sharedManager  {      @synchronized(self) {          

2013-07-13 13:53:26 843

转载 录音转换mp3格式

到lame,是一个Mp3音频编码器.  使用 AVAudioRecorder 进行音频录制的时候先将参数设置为无损音频: NSString *recordTemporaryPathString = [NSString stringWithFormat:@"%@/temporary",self.audioTemporarySavePath];  //LinearPCM

2013-07-11 17:09:46 2256

转载 window下搭建svn服务器

SVN服务器搭建和使用(一) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说.首先来下载和搭建SVN服务器.现在Subversion已经迁移到apache网站上了,下载地址:http://subversion.apache.org/packages.html这是二进制文件包的下载地址,你可在左侧的导航栏找到源代码,文档的下载地址.wind

2013-07-11 14:06:21 675

转载 ARC使用

ARC指南:http://download.csdn.net/detail/zkdemon/4213790ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机能在 iOS 5/ Mac

2013-07-11 11:44:30 958

转载 xcode配置svn

Xcode 默认自带Git 与 SVN,我们本篇介绍SVN的详细配置步骤如下: 1. 首先检测你的Mac 中是否已经安装了SVN,Mac os 10.8的用户没有的。检测的方式如下:(1)打开终端,敲入如下命令:svn -version(2) 如果有已经安装了svn,那么终端控制台将出现如下信息:12

2013-07-11 11:40:47 868

原创 CoreAudio实现录音播音和扬声器听筒模式的切换

本例子使用Core Audio实现类似于微信的音频对讲功能,可以录音和播放并且实现了听筒模式和扬声器模式的切换。录音主要使用AVAudioRecorder类来实现录音功能,播放则使用AVAudioPlayer类来实现播放音频功能,扬声器和听筒模式的切换是通过设置AVAudioSession类的属性值来实现切换效果。- (void)viewDidLoad{    [super v

2013-07-06 18:00:00 4364 1

原创 Core Audio之音频概念

文件格式和数据格式首先我们要知道的是,对每个音频文件有两部分:1是文件格式(也叫音频容器),2是数据格式(也叫音频编码)。文件格式(或者是音频容器)描述了这个文件它自己的格式。它里面的实际音频数据能使用很多不同的方式编码。例如,一个后缀为caf的文件是一种文件格式,它能够包含用MP3、线性pcm(lpcm)和其他许多格式编码的音频数据。接下来让我们更深入些。数据格式

2013-07-06 16:05:54 1368

原创 CoreText实现图文混排和点击事件

本例子是实现类似于微博的富文本效果,可以实现图文混排和处理点击事件触发。使用CoreText进行图文混排的核心思想是把需要摆放图片的位置用空字符替换原来的字符,并且实现CTRunDelegate,用于动态设置空字符的高度和宽度(代表图片的大小),并且对这些空字符设置一个属性名来区别于其他CTRun,之后进行图片渲染的时候就能通过该属性来区分哪些空字符是代表图片的占位符,哪些是普通的空字符。使用Co

2013-07-05 13:05:27 7959 4

原创 CGContext对缩放图片的剪裁

本例子类似于微信头像上传前对上传图片的剪裁功能,利用CGContext的CTM属性对坐标系的宽高进行了缩放倍数,再对图片进行剪裁。该例子还使用了UIImageView对图片的显示,UIScrollView对图片的缩放,移动。- (void)viewDidLoad{    [super viewDidLoad];    self.view.backgroundColor =

2013-06-30 16:48:20 2516

原创 CGContext对图片的旋转等比缩放效果

利用CGContext,对图片进行旋转处理并作等比缩放,保持图片的宽高比例。在CGContext中,对图片的几何处理主要用到CTM属性,该属性是坐标系对于context的映射,效果相当于对context进行了几何变换,其实只是坐标系的映射发生了几何变换而已。transalte,rotate只对原点坐标系的变换,scale则不会改变坐标系映射,但改变了点的缩放比例。#import "Ro

2013-06-30 11:32:20 3090 2

原创 Core Graphics之CGContext详解

CGContext又叫图形上下文,相当于一块画布,以堆栈形式存放,只有在当前context上绘图才有效。iOS有分多种图形上下文,其中UIView自带提供的在drawRect:方法中通过UIGraphicsGetCurrentContext获取,还有专门为图片处理的context,UIGraphicsBeginImageContext函数生成,还有pdf的context等等。1.一共有

2013-06-27 20:46:11 7201

原创 CoreImage图片滤镜效果详解

在iOS中,如果需要使用滤镜功能,可以使用自带提供的Core Image框架。它为我们提供了很多可用高效的滤镜选择,在Core Image框架中,需要了解CIImage,CIFilter,CIContext这三大类,其中CIImage代表需要处理的图片蓝本,CIFilter代表要使用的滤镜(对CIImage是使用滤镜链表的形式,只有当使用CIContext才真正渲染,对其使用CIFilter是不会

2013-06-26 19:16:07 4573

空空如也

空空如也

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

TA关注的人

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