iPhone开发
文章平均质量分 77
颐和园
这个作者很懒,什么都没留下…
展开
-
iphone 软键盘
<br /><br />当文本输入时, 文本框有几中选择用于辅助输入:<br /> <br />textField.clearButtonMode = UITextFieldViewModeWhileEditing;<br /> Java代码 typedef enum { UITextFieldViewModeNever, //clear button 永远不出现 UITextFieldViewModeWhileEditing, //编辑的时候出现 UITextFieldVie转载 2010-08-24 16:13:00 · 7234 阅读 · 0 评论 -
9宫格视图的实现
一、实现步骤原创 2010-09-10 17:11:00 · 6949 阅读 · 0 评论 -
下拉列表框实现
一、实现框架............................................................................. 1二、实现根视图.......................................................................... 1三、实现DropDownList类.......................................................... 2四、一些改原创 2010-09-10 16:02:00 · 17353 阅读 · 7 评论 -
如何在iphone应用程序中发送短信
我们知道可以使用这样的代码在iphone中发送短信:[[UIApplication sharedApplication] openURL:@"sms:12345678"]; 但这样的方式无法指定短信内容。那么我们可以使用MessageUI框架。原创 2010-09-10 14:19:00 · 6752 阅读 · 0 评论 -
NSOperation与performSelectorOnMainThread
在多线程操作中,有一个著名的错误,叫做“Tried to obtain the web lock from a thread other than the main thread or the web thread. This may be a result of calling to UIKit from a secondary thread”,一旦出现这个错误,程序会立即crashed。原创 2010-12-05 11:17:00 · 9588 阅读 · 0 评论 -
慎用dictionaryWithObjectsAndKeys方法
dictionaryWithObjectsAndKeys方法在遇到nil对象时,会以为是最终的结束标志。于是items中只放了一个对象就初始化结束了,而且不管编译和运行中都不会报错,这样的bug显然很隐蔽。原创 2010-12-17 15:44:00 · 29444 阅读 · 0 评论 -
charactersFound方法中的陷阱
表面上看这段代码没有任何问题,实际上却隐藏着致命的陷阱。这是因为,当libxml2在解析一个元素体时,会不只一次的回调charactersFound方法!也就是说一个元素,需要好几次的回调,libxml才会解析出元素体文本。原创 2010-12-17 16:23:00 · 2885 阅读 · 2 评论 -
实现可折叠的分组tableview
运行效果如下,分别是折叠状态的tabview和展开状态的tabview:原创 2010-11-01 14:44:00 · 16717 阅读 · 6 评论 -
自定义控件复选框和单选框的实现
我们先实现单个按钮,为了复用,不管单选还是复选按钮都是使用同一个类来实现,为了区别单选还是复选,我们用一个自定义枚举类型CheckButtonStyle属性style来区别,当其值设置为CheckButtonStyleDefault或CheckButtonStyleBox时,为复选按钮原创 2011-01-18 15:47:00 · 15101 阅读 · 10 评论 -
OC内存管理
<br />在视图控制器之间传递参数时尤其需要注意“野指针”的问题。<br />因为程序总是在一个个视图控制器之间跳动,一些视图控制器所拥有的变量(跟UI相关),当视图跳转后,会被释放(出于节约iphone内存的考虑?)。<br />比如这样的代码:<br />在一个ViewController中:<br />RecipientRoll* controller=[[RecipientRoll alloc]initWithNibName:@"RecipientRoll" msgText:tvBill.text原创 2011-01-20 17:54:00 · 4471 阅读 · 0 评论 -
Content-Length为-1导致下载文件字节数为0错误
正在android下写一个多线程下载类,发现当文件很小(几kb大小)时,该代码工作良好。当下载的文件比较大(如几百kb)时,下载到的文件大小全部为0。原创 2010-11-24 15:04:00 · 10297 阅读 · 1 评论 -
自定义日期挑选控件
cocoa提供了UIDatePicker控件,但是对于程序员而言并不友好。其糟糕之处,莫过于无法指定其frame,它的大小固定为320*216(占据了近整个iphone屏幕的一半),导致在UI设计时很难安排下这个“巨大”的东西。原创 2011-01-26 09:52:00 · 15066 阅读 · 2 评论 -
开源框架Core Plot的使用
iPhone下的图形框架并不是很多。其中比较知名的就两个s7graphview和Core Plot。巧的是两个都是Google的。前者使用简单,但功能单一,只能画曲线图。后者是开源项目,项目仍在不断更新中,用起来可就复杂多了,而且各个版本会有差异,包括属性、方法,甚至是类名都有改变。关于Core Plot使用的中文网上资料,不是缺乏,而是根本没有。唯一的一篇介绍得比较详细的文章是“Using Core Plot in an iPhone Application”, 原文是英文的:http://www.s原创 2011-02-28 14:21:00 · 21549 阅读 · 8 评论 -
如何用Core Plot绘制柱状图
Core Plot提供了柱状图的绘制,不足的是,只有垂直柱状图,没有提供水平柱状图。期待下一版本的实现。原创 2011-03-01 16:26:00 · 15075 阅读 · 23 评论 -
Core Plot SDK的用法
接前一篇博文《开源框架Core Plot的使用》。如果使用了Core Plot标准Mac安装包进行安装,使用起来有一些变化。其实,如果你注意到安装器的最后一个界面,这里已经有一个如何使用的介绍了:原创 2011-02-28 15:43:00 · 8179 阅读 · 6 评论 -
使用Doxgen创建Xcode文档集
文档集为Xcode开发者提供了一个查找各种文档的便捷方式,包括:API、指南、教程、Q/A、示例代码及其他。 许多开发者都用过苹果文档集翻译 2011-03-03 17:58:00 · 10810 阅读 · 6 评论 -
如何定制Core Plot主题
CorePlot主题是一个CPTheme子类。CPTheme提供了一系列方法,你可以覆盖其中3个方法 从而实现自定义的主题原创 2011-03-03 16:09:00 · 7935 阅读 · 2 评论 -
封装自己的控件库:iPhone静态库的应用
由于iPhone控件的极度匮乏和自定义组件在重用上的限制,在过去的项目中我们积累了大量的“纯代码”组件——因为IB本身的限制,我们无法把这些组件封装为IB组件库(本来我们想通过分发xib文件的方式重用这些组件,但最终发现这根本不可能,苹果的Plug-in编程不支持iPhone)。最终我们想到了静态库。虽然这仍然还是一种比较原始的复用方式,但起码我们可以隐藏组件的源代码。原创 2011-02-21 09:21:00 · 11754 阅读 · 19 评论 -
iPhone 的国际化
在iPhone项目中如何才能国际化?难道同一个项目,非要写一个英文版的源代码,再写一个中文版的源代码?其实大可不必。我们可以使用iPhone的多语言支持来实现项目的本地(国际)化。原创 2011-03-10 16:07:00 · 11770 阅读 · 3 评论 -
iOS 证书、密钥及信任服务
——翻译自Apple Reference《Certificate,Key,and Trust Services Programming Guide》本章描述并演示了如何使用证书、密钥和信任服务去导入一个indentity,评估证书是否可信,判断证书失效的原因,以及失效证书的恢复。翻译 2011-05-13 20:43:00 · 38563 阅读 · 5 评论 -
企业版IDP的申请及“In House”发布
网上关于个人版/公司版IDP申请流程,以及将应用发布到苹果商店的介绍有很多,但关于企业版IDP以及In House应用的讨论非常之少(尤其国内)。下面,笔者将对这两方面的问题进行一个全面细致的介绍。原创 2011-05-13 21:25:00 · 104907 阅读 · 74 评论 -
PKCS12 证书的生成及验证
服务器生成PKCS12证书库,并通过servlet导出为DER客户端证书(含一个密钥和一个证书)。iPhone从服务器下载证书后,如何进行验证?原创 2011-05-19 11:14:00 · 83063 阅读 · 15 评论 -
块编程指南
——译自Apple Reference Library《Blocks Programming Topic》简介块对象是C语言的句法和运行时特性。它类似于标准C函数,但可以将代码、变量绑定到堆(heap)、栈(stack)。一个块还维护了一系列的状态,这些状态或数据影响着执行的翻译 2011-05-26 13:32:00 · 10955 阅读 · 5 评论 -
Cocos2d开发系列(二)
为了便于今后检索Coco2d 的各种类、方法、属性,我们最好将cocos2d的文档安装到Xcode中。作者Blog中曾有一篇译文《使用Doxgen创建Xcode文档集》描述了创建文档集的方法,但时至今日,Xcode已经发展到3.2.5,而Doxgen也升级到1.7.3了,原文中描述的方法也多少有些不适应了。且不知到什么原因,直接在Xcode中编译cocos2d文档集总是不成功,所以这里只能用Doxgen GUI生成cocos2d文档集。原创 2011-04-07 15:36:00 · 13445 阅读 · 0 评论 -
Cocos2d开发系列(一)
Cocos2d是一个比较流行的iphone游戏开发框架,据说在 AppStore 上已有超过 100 个游戏是基亍 Cocos2D-iPhone。其中 3 个由此 迚入过 TOP 10 的排名。其中的 StickWars 更是曾排名第一。原创 2011-04-07 15:30:00 · 32576 阅读 · 3 评论 -
Cocos2d开发系列(六)
对于射击类游戏,使用重力感应进行游戏控制是不可接受的,采用虚拟手柄将会更恰当。出于“不重新发明轮子”的原则,我们将采用开源库SneakyInput。控制玩家的飞船进行移动只是其中一件事情。我们还需要让背景能够滚动,以造成在某个方向上“前进”的感觉。为此必须自己实现背景滚动。由于CCParallaxNode的限制,它不能无限制地滚动卷轴式背景。翻译 2011-06-01 13:29:00 · 12641 阅读 · 4 评论 -
Cocos2d开发系列(三)
这个例子是一个叫做Doodle Drop的游戏,是一个重力感应类游戏。玩家操纵角色来躲避从空中坠落的障碍物。原创 2011-04-13 14:28:00 · 22177 阅读 · 7 评论 -
ASIHTTPRequest系列(二):文件下载
<!-- @font-face { font-family: "宋体";}@font-face { font-family: "Cambria";}@font-face { font-family: "Menlo Regular";}p.MsoNormal, li.MsoNormal, div.MsoNormal { margin: 0cm原创 2011-06-03 15:30:00 · 37387 阅读 · 14 评论 -
ASIHTTPRequest和libxml结合,实现边请求边解析
ASIHTTPRequests是非常强大的 http 异步请求开源框架,libxml 是非常老牌的 C 语言xml函数库。在 http + xml 文件的 javaEE-iPhone 应用中,如何把二者结合起来,实现在异步请求数据的同时,进行xml的同步解析呢?这涉及到 3 方面的关键知识:¥ ASIHTTPRequest这部分的内容可以参考作者另一篇原创 2011-06-03 16:29:00 · 10145 阅读 · 13 评论 -
安装Tomcat到Mac OSX( snow leopard)
1、下载tomcat:http://tomcat.apache.org/download-70.原创 2011-06-01 13:16:00 · 16107 阅读 · 3 评论 -
ASIHTTPRequest系列(一):同步和异步请求
ASIHTTPRequest项目地址:http://github.com/pokeb/asi-http-request/tree,关于ASIHTTPRequest到底是什么,你可以在项目首页看到。它提供如下功能:提交数据到web服务器或者从web服务器获得数据;下载数据到内存或磁盘;采用html input相同的机制上传文件;断点原创 2011-06-03 15:24:00 · 41729 阅读 · 10 评论 -
关于OC的MBCS编码
http协议中,url中的MBCS处理比较复杂。同时涉及到字符集编码和Escape两方面。根据http协议,url中的MBCS(多字节字符集)需要进行Escape(转义)。原创 2011-04-20 11:01:00 · 5275 阅读 · 1 评论 -
在你的 iOS App中 使用 OpenSSL 库
在你的 iOS App中 使用 OpenSSL 库——译自x2on的“Tutorial: iPhone Appwith compiled OpenSSL 1.0.0a Library”原文地址:http://www.x2on.de/2010/07/13/tutorial-iphone-app-with-compiled-openssl-1-0-0a-library翻译 2011-06-09 14:47:00 · 60034 阅读 · 49 评论 -
使用 Openssl 验证自签名证书
iOS的 security framework 框架前面已经介绍。这个框架提供有限的功能,使用它能做到的,比你想象的要少。笔者一直想找一个iOS 下比较好的功能全面的安全算法库,结果却一无所获。不知道谁能介绍下这方面。最终还是只有求助于闻名已久的 Openssl library。Openssl 确实十分强大,然而其糟糕文档仍让人难以满意。当然,网络上使用Opens原创 2011-06-15 14:11:00 · 13822 阅读 · 5 评论 -
Cocos2d开发系列(四)
很少有游戏只有一个场景。这个例子是这个样子的:这个Scene中用到了两个Layer,一个Layer位于屏幕上方,标有”Here be your Game Scores etc“字样的标签,用于模拟游戏菜单。一个Layer位于屏幕下方,一块绿色的草地上有一些随机游动的蜘蛛和怪物,模拟了游戏的场景。翻译 2011-05-03 14:37:00 · 12353 阅读 · 0 评论 -
Cocos2d开发系列(五)
在屏幕上贴图时,图形硬件需要经过准备、渲染、清除等步骤。每次贴图都会重复这个过程。如果图形硬件能事先知道有一组拥有相同纹理的Sprite需要渲染,则这个过程会被简化。比如,一组Sprite的准备和清除动作总共只需要执行一次。下图的例子使用了CCSpriteBacthNode。屏幕上同时有几百颗子弹飞过。如果一次只渲染一颗,那么帧率马上降到85%。使用CCSpriteBatchNode,可以避免这种情况翻译 2011-05-03 14:50:00 · 16789 阅读 · 0 评论 -
libxml2:Debug模式可以编译,Distribution下不可以?
在Project中使用了libxml2,已将 ${SDKROOT}/usr/include/libxml2加入到Header Search Path中,在Debug模式下编译运行OK,但切换到Distribution模式下居然不行原创 2011-05-06 17:13:00 · 3789 阅读 · 1 评论 -
Cocos2d开发系列(七)
Learn IPhoneand iPad Cocos2d Game Delevopment》第8章 。这种类型的游戏(shoot’emup游戏)最重要的是什么?射击的目标和需要躲避的子弹。本章,将为游戏添加一些敌人以及一个大 boss。敌人和玩家将使用新的Bu翻译 2011-07-04 16:11:38 · 9058 阅读 · 0 评论 -
折叠分组表格中重用Cell导致的问题
问题描述:在使用UITableView时,我们习惯在tableView:cellForRowAtIndexPath:方法中使用CocoaTouch提供的表格单元格缓存来重用单元格:static NSString* cellid=@"exTable_cellid原创 2011-07-06 15:59:07 · 4234 阅读 · 2 评论 -
使用NSOperation实现异步下载
在iphone开发中,异步操作是一个永恒的话题,尤其当iphone手机需要和远程服务器进行交互时,使用异步请求是很普遍的做法。通常,这需要NSURLConnection和NSOperation结合起来使用。这方面的资料网络上自然有不少的介绍,不过要找一个能运行的代码也并不容易。原创 2010-12-02 15:52:00 · 15563 阅读 · 8 评论