随笔分类 -  iPhone开发

摘要:原文:http://www.dreamingwish.com/dream-2011/correct-online-information-error-loadview-viewdidload-viewdidunload.htmlloadView,viewDidLoad,viewDidUnload,这三个函数到底应该怎么用?谷歌一下,全是转载,大概内容是这样:loadView 手动加载viewviewDidLoad用于nib文件加载后,进一步处理viewDidUnload是viewDidLoad的镜像参考官方文档,我给出纠正:一、loadView永远不要主动调用这个函数。view control 阅读全文
posted @ 2012-05-13 17:15 iPhone Dev 阅读(325) 评论(0) 推荐(1) 编辑
摘要:头文件:#import @class ArticleViewController;@interface ArticleScrollViewController : UIViewController { //不使用数组,看起来更明了,为了节省内存同时还要看起来无缝,3个view最好 ArticleViewController *article1; ArticleViewController *article2; ArticleViewController *article3;}@end实现:#import "ArticleScrollViewController.h"#imp 阅读全文
posted @ 2012-05-03 10:54 iPhone Dev 阅读(6852) 评论(0) 推荐(0) 编辑
摘要:在3.2以前,我们要拿到UITouch跟使用者互动,大部分都是透过UIResponder的四种methods - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event - (void)touchesMoved:(NSSet *)touches withEven 阅读全文
posted @ 2012-04-09 09:19 iPhone Dev 阅读(490) 评论(0) 推荐(0) 编辑
摘要:转自:http://blog.csdn.net/pjk1129/article/details/7255163最近在做Apple的IOS开发,有开发静态库的需求,本身IOS的开发,只允许静态库或者Framework。在Xcode上没有找到允许编译,如同Android上的*.so和Win32上的dll这样的说法。不过Framework这样的框架,估计也是类似动态库的实现,不过没有具体研究过,后续继续深入研究。我这个文档的静态库的开发是基于Xcode4.2和iOS SDK5.0编写的。Xcode4跟之前的Xcode3还是有不少的差别的。下面就简单写一个静态库和一个调用静态库的例子。静态库的编写:1 阅读全文
posted @ 2012-04-01 11:51 iPhone Dev 阅读(570) 评论(0) 推荐(0) 编辑
摘要:在入门级别的ObjC 教程中,我们常对从C++或Java 或其他面向对象语言转过来的程序员说,ObjC 中的方法调用(ObjC中的术语为消息)跟其他语言中的方法调用差不多,只是形式有些不同而已。譬如C++ 中的:Bird * aBird = new Bird();aBird->fly();在ObjC 中则如下:Bird * aBird = [[Bird alloc] init];[aBird fly];乍看起来,好像只是书写形式不同而已,实则差异大矣。C++中的方法调用可能是动态的,也可能是静态的;而ObjC中的消息都为动态的。下文将详细介绍为什么是动态的,以及编译器在这背后做了些什么事 阅读全文
posted @ 2012-03-29 15:30 iPhone Dev 阅读(368) 评论(0) 推荐(0) 编辑
摘要:UDID本身无害,并未携带用户的任何私人信息,但开发商可以将之与应用里聚集的信息结合,追踪用户行为。如果禁止,影响的不仅仅是广告网络,还有那些想真正为用户带来更好体验的应用开发商,UDID的禁用将会出现导致许多问题,苹果当然会提供备选方案,但能解决问题吗? 阅读全文
posted @ 2012-03-28 11:35 iPhone Dev 阅读(2649) 评论(0) 推荐(0) 编辑
摘要:Objective-C反射是本文要介绍的内容,我第一次接触Java的时候就觉得整个反射包都很新颖,它使得Java和解释型的脚本语言更接近了,与此同时也拉开了和主流的C和C++的距离。在运行时可以窥视到一个对象的类元数据真的很不可思议,尽管这些可能不会在日常应用编程中经常使用到。从Java转到Objective-C的程序员应该会乐见Objective-C也支持反射。实际上,Objective-C有很多诸如动态改变类定义以及创建一个新类的动态特征。不过很难说这些功能有多大的作用,这也让我觉得Objective-C是一个有些臃肿的语言。在我看来,Objective-C有一个定位危机:它是解释型语言. 阅读全文
posted @ 2012-02-01 11:00 iPhone Dev 阅读(528) 评论(0) 推荐(1) 编辑
摘要:所谓dylib,就是bsd风格的动态库。基本可以认为等价于windows的dll和linux的so。mac基于bsd,所以也使用的是dylib。如果你需要引用一个第三方的dylib,在xcode下编译出cocoa程序,在本机上运行是不会出问题的。但是发布出来,给其他用户用,就可能出问题。因为用户不一定有这个库。这个问题给我造成了相当的困扰,我到现在也没找到正规的方法。但是我确实解决了这个问题,虽然方法不一定正宗。不管怎么说,写下来,如果暂时没有更好的办法,那么先这样做。如果谁有更好的办法,也请一定不吝留言或邮件给我。我的办法是这样的:1 otool -L yourapp.app/Content 阅读全文
posted @ 2012-01-30 15:12 iPhone Dev 阅读(8180) 评论(1) 推荐(2) 编辑
摘要:UIRequiresPersistentWiFi 在程序中弹出wifi选择的key(系统设置中需要将wifi提示打开)UIAppFonts 内嵌字体(http://www.minroad.com/?p=412 有详细介绍)UIApplicationExitsOnSuspend 程序是否在后台运行,自己在进入后台的时候exit(0)是很傻的办法UIBackgroundModes 后台运行时的服务,具体看iOS4的后台介绍UIDeviceFamily array类型(1为iPhone和iPod touch设备,2为iPad)UIFileSharingEnabled 开启itunes共享docume 阅读全文
posted @ 2012-01-17 09:01 iPhone Dev 阅读(659) 评论(0) 推荐(1) 编辑
摘要:1.关于程序后台数据处理 iOS系统在程序进入后台状态后进行数据处理的时间是5s,但这个时间很短,如需在后台进行需要较长时间处理的工作,可向系统申请将这个时间延长,最长为10分钟,这段时间内程序可在后台进行相关数据操作,经测试,可以进行后台下载任务代码如下,在程序delegate中加入:#pragma mark -#pragma mark Background Task Handle- (void)applicationDidEnterBackground:(UIApplication *)application{ NSLog(@"!!!%@",NSStringFromSe 阅读全文
posted @ 2012-01-16 12:01 iPhone Dev 阅读(1326) 评论(0) 推荐(0) 编辑
摘要:xml的sax解析方式在找到结点开始标志时,调用(1)- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict 函数,在找到结点结束标志时,调用(2)- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)el. 阅读全文
posted @ 2011-12-05 13:27 iPhone Dev 阅读(611) 评论(0) 推荐(0) 编辑
摘要:前些天在网上搜到一个不错的电子书的翻页效果的源码,也做了个Dome,感觉很好玩,这里来和大家一起分享下.效果已经被写成了一个ViewController,我们只要让自己的显示界面继承这个ViewController即可.把我们要显示的页面保存成uiimage形式,然后实现下面这二个Delegate- (NSUInteger) numberOfPagesInLeavesView:(LeavesView*)leavesView { return 0;}- (void) renderPageAtIndex:(NSUInteger)index inContext:(CGContextRef)ct... 阅读全文
posted @ 2011-11-18 16:46 iPhone Dev 阅读(3246) 评论(1) 推荐(0) 编辑
摘要:iPhone自带的备忘录软件有着不错的用户界面,那它的文本线是怎么实现的呢?不知道.知道的大神请留下解决方案.不过几个几天的摸索,总算是想出了一条解决方案来,下面简单的描述下,希望能说的清楚.首先我觉得需要二张图片,一张是编辑区域上面的没有横线的黄色区域,一张是编辑区域带横线的黄色区域需要的组件有:UIScrollView一个,UIView一个,UITextView一个叠加方式为:[UIScrollView addSubView:[UIView addSubView:UITextView]];UIScrollView的背景设为第一张图片形式,即_scrollView.backgroundCol 阅读全文
posted @ 2011-09-19 14:53 iPhone Dev 阅读(1541) 评论(1) 推荐(0) 编辑
摘要:在函数声明或定义之前使用了该函数,而且这些函数只在该类中使用,则可以将其声明为私有函数;需要在别的文件中使用的话,则可以将其定义在.h外部文件中,在需要使用的地方import该头文件即可。例如:// 某个类的私有函数定义,也即该类的一个类别。将声明放在该处,而将定义放在类中。// TestObject即为需要定义私有函数的类,Private则为类别名,虽然可以任意选择,但建议定义为Private之类的知名知义的词。不建议使用private,因为private是C++等面向对象语言中的关键字,在toolchain或直接使用gcc编译的话,则会需要一些编译错误。@interface TestObj 阅读全文
posted @ 2011-09-19 08:57 iPhone Dev 阅读(474) 评论(0) 推荐(0) 编辑
摘要:转载自:http://blog.csdn.net/kmyhy/article/details/5753090本文的目的,是研究有没有可能在一个TableView中呈现树形数据,尤其是树形菜单。众多的网络资料都强调,Cocoa框架不支持树形视图,苹果推荐程序员使用TableViewController+NavigationController的方式展现树形菜单。如果2-3层的树形数据还可以忍受,万一层次稍多一点,必须反复的用导航按钮在视图中转来转去,显然并不太方便。何况笔者认为2-3层的导航也要切换多次视图,也是一种浪费。一、搭建基本框架 1二、实现树节点 2三、实现树 3四、实现TreeVie 阅读全文
posted @ 2011-09-19 08:56 iPhone Dev 阅读(701) 评论(0) 推荐(0) 编辑
摘要:在ViewController中重写touch的事件的方法体就可实现特定的touch功能(但这些touch事件会被加在之上的tableView或scrollView等屏蔽,希望知道解决方案的留下方法).下面代码实现清扫事件- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { messageLabel.text =@"Touches Began"; //开始触摸的方法 [self updateLabelsFromTouches:touches];}- (void)touchesCancelled: 阅读全文
posted @ 2011-09-05 11:48 iPhone Dev 阅读(2724) 评论(2) 推荐(0) 编辑
摘要:tableView:cellForRowAtIndex函数当表视图需要一个表视图单元的数据时调用,一般用cellForRowAtIndex参数作为数据来源的索引,直接作为数组下标即可。如果用全局变量作为数据索引,就有两个问题。 1.全局变量需要与实际的数据在数组中的位置同步,需要添加全局变量增加或减小的代码。2.在重新绘制表格的时候需要把全局变量清零,就是当全局变量等于数组元素个数的时候。例如在拨号程序中,原数组中并不是每个元素的数据都是可用的表格单元数据,需要判断布尔属性,控制全局索引自增。在函数开头,添加判断全局变量是否等于数组元素个数的代码,将全局变量清零,否则在上下拖动表格时会出现数. 阅读全文
posted @ 2011-09-05 09:39 iPhone Dev 阅读(889) 评论(0) 推荐(0) 编辑
摘要:【51CTO独家译文】2011年6月的编程语言排行榜Lua语言一军突起,一举进入前十名。这与一年前苹果决定在iOS系统上使用Lua语言密不可分。但是,你了解如何用Lua语言在iOS上开发应用吗?51CTO将向各位介绍Lua语言的iOS应用开发框架——Wax,其中在iOS平台上无比火爆的《愤怒的小鸟》就是由Lua语言用Wax开发的。全文共分两部分,第一部分51CTO将带您深入探讨Wax具有的一些好处,同时演示把Lua与Xcode 4和iOS软件开发工具包(SDK)集成起来必不可少的实际步骤。第二部分51CTO将逐步介绍如何用Wax构建一个简单的应用程序,显示Twitter上的当前趋势话题列表,可 阅读全文
posted @ 2011-08-24 20:06 iPhone Dev 阅读(5261) 评论(0) 推荐(0) 编辑
摘要:大家应该都比较清楚如果想要刷新一个UIView的话,调用它的setNeedsDisplay即可。问题是,当你调用了一个UIView的setNeedsDisplay之后,该UIView何时才得到刷新?经过调研发现,应该是在一个runloop的最后阶段刷新。什么是一个runloop呢?个人认为可以简单的理解为了一个事件的处理过程。例如用户点击屏幕是两个runloop。当用户按下的时候,...一系列处理->UIView的touchesBegan函数->一系列处理 这里是一个runloop当用户抬起的时候,...一系列处理->UIView的touchesEnd函数->一系列处理 阅读全文
posted @ 2011-08-12 00:16 iPhone Dev 阅读(10440) 评论(0) 推荐(1) 编辑