摘要:
为了在cocos2d的工程项目中采用ARC来进行必要的内存管理,则要执行以下5步必要的操作来修复:
1. 在你的工程项目中Control-Click选中libs文件夹,在弹出菜单上选择Delete。然后在Delete删除对话框上再次选择Delete按钮进行彻底删除。这将从工程项目中删除Cocos2D文件,但这是必须的。因为我们会另外分开引入到项目中,我们要做得是允许使用ARC设置我们的项目(不过允许Cocos2D代码仍不带ARC)。 阅读全文
随笔分类 - iPhone实践
iphone的手势与触摸编程学习笔记
2011-12-08 20:32 by 张智清, 1933 阅读, 收藏, 编辑
摘要:
一、基本概念与理解:
Cocoa Touch将触摸事件发送到正在处理的视图。触摸传达的信息包括:
触摸发生的位置 (当前位置、最近的历史位置)
触摸的阶段 (按下、移动、弹起)
轻击数量 (tapCount 单击/双击)
触摸发生时间 (时间戳)
每个UITouch对象都代表一个触摸事件。在iPhone中,触摸交互遵循一种原始的设计模式,即在UIView类中而非UIViewController类中编程实现。就是说触摸交互采用视图级编程方式。 阅读全文
xCode4.2下添加TableViewController会出现”Prototype cells“警告
2011-12-02 22:25 by 张智清, 5706 阅读, 收藏, 编辑
摘要:
在使用xCode4.2编码的过程中,发现新添加TableViewController控制器后,xCode会报警告错误:这个警告信息是:”Unsupported Configuration: Prototype table cells must have reuse identifiers“。当你添加一个TableViewController到storyboard上后,它想用默认的prototype cells但此时我们还没配置该属性。Prototype cells是Storyboard提供的在通用nib之上的众多优势之一。以前,如果想添加一个自定义的table view cell,你无外乎要么 阅读全文
iOS5.0中animation.timingFunction = UIViewAnimationCurveEaseInOut发送错误
2011-11-28 19:57 by 张智清, 3868 阅读, 收藏, 编辑
摘要:
在调试CATransition动画中发现animation.timingFunction = UIViewAnimationCurveEaseInOut;有错误提示:implict conversion of ‘int’ to ‘CAMediatimingFunction’ is disallowed with ARC。估计是因iOS5.0中在项目中使用了ARC,对以前的这种使用不再支持了。修改为:animation.timingFunction = [CAMediaTimingFunctionfunctionWithName:kCAMediaTimingFunctionEaseInEaseO 阅读全文
iPhone开发中的图像处理相关要点
2011-11-27 21:00 by 张智清, 2187 阅读, 收藏, 编辑
摘要:
iPhone图像通常存储在以下4个地方:
相册(PhotoAlums):用户可以使用UIImagePickerController类提供的交互对话框从该相册中获取图像。
应用程序包:将图像与可执行程序、Info.plist文件和其他资源一同存储,用户可以通过本地文件路径由imageNamed:方法来读取这些基于包的图像。
沙盒:借助沙盒,可以将文件存储到Documents、Library和tmp文件夹中。
因特网(Internet):应用程序可通过URL资源从网上下载图像。 阅读全文
iOS5.0中initWithFrame:(CGRect) reuseIdentifier:(NSString *)用法停用了。
2011-11-27 18:34 by 张智清, 1947 阅读, 收藏, 编辑
摘要:
在ios4.3时下列用法是可行的:NSArray *nibfile = [[NSbound mainBundle] loadNibNames:@dcell" owner:self option:nil];CGRect cellFrame = CGRectMake(0,0,300,30);cell = [[UITableViewCell alloc] initWithFrame:cellFrame reuseIdentifier:CellIdentifer] autorelease];但是在iOS5.0之后initWithFrame方法的这一形态用法被停用了,据官方文档说,现在改用in 阅读全文
ASIHTTPRequest类库简介和使用说明
2011-11-19 16:03 by 张智清, 1751 阅读, 收藏, 编辑
摘要:
使用iOS SDK中的HTTP网络请求API,相当的复杂,调用很繁琐,ASIHTTPRequest就是一个对CFNetwork API进行了封装,并且使用起来非常简单的一套API,用Objective-C编写,可以很好的应用在Mac OS X系统和iOS平台的应用程序中。ASIHTTPRequest适用于基本的HTTP请求,和基于REST的服务之间的交互。 阅读全文
如何在自己工程项目中使用TouchJSON框架
2011-11-19 15:25 by 张智清, 3207 阅读, 收藏, 编辑
摘要:
前提:配置到某具体的工程项目中 复制TouchJSON框架源代码到自己的工程项目中,即将TouchJSON/Source目录及文件拷贝到项目中,在添加到工程项目中时确认选中“Copy items into destination groups folder(if needed)”项。转换JSON数据到对象——即解析,反序列化操作首先引入文件:#import "CJSONDeserializer.h"到项目具体源文件中。然后就可以将一个含有JSON数据的NSData对象进行转换成一个对象。NSData *theJSONData = /* 这里是一些JSON数据 */NSErr 阅读全文
解析:Program received signal: “EXC_BAD_ACCESS"
2011-11-14 22:56 by 张智清, 4068 阅读, 收藏, 编辑
摘要:
由于被书上的内存泄露吓唬住了,所以又在最后追加了[sublayer release];来释放内存而在程序调试运行退出时碰到了Program received signal: “EXC_BAD_ACCESS" 错误。经网络搜索搞清楚了这个错误产生的几个原因: 阅读全文
"No previous prototype for function" warning警告错误
2011-11-13 21:07 by 张智清, 10034 阅读, 收藏, 编辑
摘要:
在编译《iphone开发秘籍》第八章的秘诀一的代码时碰到以下警告错误:CGPoint randomPoint(){ int half = 32; int freesize = 240 - 2 * half; return CGPointMake(random() % freesize + half, random() % freesize + half);}warning:No previous prototype for function "randomPoint"。如何取消这个警告错误呢?方法尝试了这两种都可以:1.方法上加修饰符static2.或者Project-In 阅读全文
Xcode4中利用Assistant editor关联面板操作完成了什么?
2011-11-13 20:59 by 张智清, 2441 阅读, 收藏, 编辑
摘要:
在Xcode4集成的Interface Builder中设计好用户界面后,将界面上的控件与相关视图控制器类绑定的工作,可以先绑定后写代码,也可以先手写代码后进行绑定选择。而Xcode4的Assistant editor助手面板能够使得绑定与添加相应代码更加方便。秘诀是:
在我们是采取先绑定后写代码时,可打开Assistant editor面板,左右两个窗口分别载入xib视图界面文件与.h的视图控制器类头文件。在视图界面文件中先按住Ctrl键盘,拖动所要绑定到控制器类的用户控件到.h控制器头文件类声明的合适位置放开,此时会弹出一个对话框进行Outlet或Actions的选择以及相关设置即可完成这一绑定工作。对于是IBOutlet则这个操作过程Xcode会为我们完成以下五个情况: 阅读全文
一些有关图像处理的代码片段(抓图、倒影、圆角)
2011-11-12 14:45 by 张智清, 3329 阅读, 收藏, 编辑
摘要:
捕捉屏幕截图
CALayer实例使用Core Graphics的renderInContext方法可以将视图绘制到图像上下文中以便转化为其他UIImage实例。前提先#import 阅读全文
自定义UIViewController与xib文件的关系分析
2011-11-11 20:37 by 张智清, 6836 阅读, 收藏, 编辑
摘要:
用Xcode的模板加入UIViewController sub class时,勾选with xib for interface项会随之一起生成三个后缀名不同(.h .m .xib)的同名文件。
之后在工程项目中若是用这个自定义的UIViewController,可以采用以下两种方式定义: 阅读全文
UIView动画(过渡效果)的学习笔记
2011-11-05 15:30 by 张智清, 26732 阅读, 收藏, 编辑
摘要:
UIView视图的动画功能,可以使在更新或切换视图时有放缓节奏、产生流畅的动画效果,进而改善用户体验。UIView类自带4种视图变换过渡效果。 阅读全文
[UIImage imageNamed:@"icon.png"] 加载图片的问题
2011-10-23 20:54 by 张智清, 5647 阅读, 收藏, 编辑
摘要:
[UIImage imageNamed:@"icon.png"]用上面的方法加载图片有问题。该方法即可以从bundle中读取图片。这种方法在application bundle的顶层文件夹寻找由供应的名字的图象 。如果找到图片,装载到iPhone系统缓存图象。那意味图片是(理论上)放在内存里作为cache的。因此如果图片资源多了或大了,此方式容易引起发生内存警告从而导致自动退出的问题。最好是通过直接读取文件路径[UIImage imageWithContentsOfFile]解决掉这个问题,应用示例:NSString *path = [[NSBundle mainBundl 阅读全文
警告:Instance method '-renderInContext:' not found的解决办法
2011-10-23 17:40 by 张智清, 2306 阅读, 收藏, 编辑
摘要:
练习PhotoCapture Application in iPhone实践时,碰到renderInContext警告。[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];Xcode4.3弹出警告:Instance method '-renderInContext:' not found解决办法:#import <QuartzCore/QuartzCore.h> 阅读全文