摘要:在iOS应用中,UITableView应该是使用率最高的视图之一了。iPod、时钟、日历、备忘录、Mail、天气、照片、电话、短信、 Safari、App Store、iTunes、Game Center⋯几乎所有自带的应用中都能看到它的身影,可见它的重要性。然而在使用第三方应用时,却经常遇到性能上的问题,普遍表现在滚动时比较卡,特别是table cell中包含图片的情况时。实际上只要针对性地优化一下,这种问题就不会有了。有兴趣的可以看看LazyTableImages这个官方的例子程序,虽然也要从网上下载图片并显示,但滚动时丝毫不卡。下面就说说我对UITableView的了解。不过由于我也是初
阅读全文
摘要:layoutSubviews何时调用的问题,这个方法是当你需要在调整subview的大小的时候需要重写(我这个翻译不严谨,以下是原文:You should override this method only if the autoresizing behaviors of the subviews do not offer the behavior you want.),但有时候经常指望它被调用的时候没被调用,不希望它被调用的时候被调用了,搞的很上火。根据国外社区一个人帖子,做了总结性翻译。layoutSubviews在以下情况下会被调用:1、init初始化不会触发layoutSubviews
阅读全文
摘要:有时候可用 UIWebView 代替 UITextView,解决行间距问题2011-12-10 — Unmi 我们在使用UILabel或是UITextView时,如果文字出现了换行,目前我还不知道如何去控制行间距,固定的Label 文字 可以折成两个Label上下显示,但是对应大段显示的段落要多行显示时该如何呢,多行单独控制就变得不现实了。由于UILabel或 UITextView并不提供对行间距 line-height的设置,要达成所愿指定行间距的方法,我可以想到三种方式:1. 自定义相应的控件,在控件内部方法中去做文章,未实践,可能是个好方法 2.修改字体,由于默认行间距是由字体本身特性决
阅读全文
摘要:performSelector延时调用导致的内存泄露 前几天在给游戏做收尾测试时,发现了一个关于内存泄露的问题,一直没找着问题所在,经过反复调试和查找资料今天终于解决了,特此记录下来以免以后再犯!关于objective-c的内存管理,我们都知道一个原则就是“谁创建,谁释放”,换句话说,不是我们创建的,就不用我们去释放。但是实际上objective-c的内存管理远远没那么简单,我的情况是这样的:我在debug模式下面用CCLOG在dealloc函数里面输出一些信息,目的就是要检查场景的dealloc方法在replaceScene的 时候有没有被调用,按照子龙山人大哥的说法,如果场景切换的时候d.
阅读全文
摘要:属性在viewDidUnload中设nil,在dealloc中却release -(void)viewDidUnload{self.xxx=nil;}-(void)dealloc{[xxxrelease];} 属性在viewDidUnload中用点运算符设为nil,在dealloc中却直接调release,都有其理由。 考虑到现在网上很多误导人的解释,决定记下来。 总结之前我在stackoverflow和官方文档上查到的东西,viewDidUnload消息被调用表明此时控制器的视图已经被释放。 (注意此时控制器对象并不会被释放,区别dealloc表明控制器被释放), 我们必须...
阅读全文
摘要:setAutoresizingMask控件的自适应 UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 1 << 0, UIViewAutoresizingFlexibleWidth = 1 << 1, UIViewAutoresizingFlexibleRightMargin = 1 << 2, UIViewAutoresizingFlexibleTopMargin = 1 << 3, UIViewAutoresizingFlexibleHeight = 1 &l
阅读全文
摘要:1 //打开 ButtonViewController.m 文件: 2 3 - (void)viewDidLoad { 4 5 [super viewDidLoad]; 6 7 //创建按钮 8 UIButton *sampleButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 9 10 11 //...
阅读全文
摘要:iphone开发的一些小技巧(一)(关键字:除去UITableView的边框和划动删除,同步请求及异步请求)1. 如何除去UITableViewStyleGroup类型的UITableView的边框: UITableViewStylePlain类型的UITableView去除边框线有直接的属性方法: separatorStyle =UITableViewCellSeparatorStyleNone; 但在UITableViewStyleGrouped类型的UITableView中,该方法无效 如何去除边框线呢?答案很简单: separatorColor=[UIColor clearColor]
阅读全文
摘要:ios 中各种动画效果 分类: iphone 2012-05-28 00:58 44人阅读 评论(0) 收藏 举报各种动画效果最普通动画:2011-03-09 19:47最普通动画://开始动画[UIView beginAnimations:nil context:nil]; //设定动画持续时间[UIView setAnimationDuration:2];//动画的内容frame.origin.x += 150;[img setFrame:frame];//动画结束[UIView commitAnimations];连续动画:一个接一个地显示一系列的图像NSArray *myImag...
阅读全文
摘要:这篇文章主要讲的表格的操作包括:标记行、移动行、删除行、插入行。这次就不从头建立工程了,在http://www.oschina.net/code/snippet_164134_9876下载工程。这个工程就是最简单的产生一个表格并向其中写入数据。用Xcode 4.2打开它,在这个工程基础上实现以上操作。1、标记行这里讲的标记行指的是单击此行,可以实现在此行右边出现一个勾,如下图所示:为了实现标记功能,在ViewController.m中@end之前添加代码:#pragma mark -#pragma mark Table Delegate Methods- (void)tableView:(UI
阅读全文
摘要:/* 加密中需要的base64是採用 QSUtilities 可以在 https://github.com/mikeho/QSUtilities 取得 MD5 可以參考http://www.makebetterthings.com/iphone/how-to-get-md5-and-sha1-in-objective-c-ios-sdk/*/ 1 AzDG.h 2 3 #import <Foundation/Foundation.h> 4 @interface AzDG : NSObject 5 { 6 7 } 8 9 -(id) initWithCipher ...
阅读全文
摘要:iOS 应用的 UI 开发资源中文http://blog.csdn.net/column/details/zhf156.htmlTableViewhttp://www.raywenderlich.com/312/beautiful-table-view-helper-classhttp://cocoawithlove.com/2009/04/easy-custom-uitableview-drawing.htmlhttp://cocoawithlove.com/2010/12/uitableview-construction-drawing-and.htmlhttp://www.raywend
阅读全文
摘要:UIImagePickerController * imagePickerController = [[UIImagePickerController alloc] init]; if (buttonIndex==actionSheet.firstOtherButtonIndex+1) { imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; }else{ imagePickerController.sourceType = UIImagePickerControllerSourceT
阅读全文
摘要:iOS中使用c函数快速获取一个目录所占的空间大小Posted on 2011-12-31 by york_gu在编写iOS应用时,我们都会大量把服务器的接口调用数据或者图片数据进行缓存,为了更好的使用体验,有时候我们也会把各种缓存的数据所占的空间大小告诉用户,提供给用户参考,并让用户可以手动清除缓存数据,就像我们在千寻影视中 也就提供了这样一个设置项。但是当数据多了之后,就会发现所占空间的大小计算非常耗时,因为缓存下来的是大量的小文件,这就会造成界面很久没有反映的状 况。为了解决这种情况,当然是可以通过多线程的方法来做到的,但是在一个简单的设置界面做这么复杂的事情,我倒认为是一个拿起牛刀来杀鸡
阅读全文
摘要:ios中获取UIImage的像素信息网上搜罗实验了各种方法,最后找到一个很简单的,简单到就只要一行代码:1CFDataRef bitmapData = CGDataProviderCopyData(CGImageGetDataProvider(image.CGImage));这里拿到的bitmapData变量里面就包含了所有像素的所有信息,记得用完了之后要释放bitmapData所占有的空间。CFData的用法可以参考官方文档。使用CFDataGetLength函数可以看到,这个数据的长度是4*image.size.width*image.size.height。也就是每一个像素点都占据了四个
阅读全文
摘要:iPhone中获取磁盘剩余空间大小12345678+ (long long) freeDiskSpaceInBytes{struct statfs buf;long long freespace = -1;if(statfs("/var", &buf) >= 0){freespace = (long long)(buf.f_bsize * buf.f_bfree);}return freespace;}在网上看到的例子中,第四行调用函数 statfs 时给定的参数是”/”,其实是不正确的,因为这样拿到的其实是系统分区的剩余空间,这些空间对我们应用程序来说是没有
阅读全文
摘要:http://www.cnblogs.com/ondream/archive/2012/05/21/2511400.html一些iOS高效开源类库因为iOS SDK相对比较底层,所以开发者就得受累多做一些体力活。不过幸运的是,有很多第三方的类库可以用来简化很多不必要的工作。笔者整理了一下在本人学习过程 中用到的一些比较有用Objective-C开源类库,既是做一个总结,同时也希望通过这些分享,能提高各位的开发效率。KissXml——xml解析库相关教程:http://www.iteye.com/topic/625849http://sencho.blog.163.com/blog/static
阅读全文
摘要:近来,IOS开发火爆,有许多程序员加入了这个行业中,我也最近整理了一些关于IOS开发额度资料和大家分享。 1.www.cocoachina.com 这是苹果官方的网站,其中涉及到流行应用程序,论坛,开发等各大内容。 2.https://developer.apple.com IOS的API介绍,Xcode里面的API这里都有。还有部分源码,不得不看。 3.https://github.com 这里有些项目源代码。 4.http://www.codeproject.com/search.aspx?q=iphone&doctypeid=1%3b2%3b3 部分源代码 5.http://s.
阅读全文
摘要:http://zxs19861202.iteye.com/blog/1532460IOS推送消息是许多IOS应用都具备的功能,最近也在研究这个功能,参考了很多资料终于搞定了,下面就把步骤拿出来分享下:iOS消息推送的工作机制可以简单的用下图来概括:Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务器。上图可以分为三个阶段:第一阶段:应用程序把要发送的消息、目的iPhone的标识打包,发给APNS。第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把
阅读全文
摘要:iOS Crash文件分析 一. iOS crashs 一般有如下四种: Application crash Low memory Watchdog timeout User force-quit 当前我们的 ERead 程序遇到了前三种 core 问题。只有 Application crash 文件才会提供有用的iOS Crash文件分析一.iOS crashs一般有如下四种:Application crash Low memory Watchdog timeout User force-quit当前我们的ERead程序遇到了前三种core问题。只有Application cra...
阅读全文