03 2012 档案

摘要:iOS应用在运行时经常要创建一些文件,不过这些文件要如何存放呢?有没有什么要求呢?由于手机资源空间有限而且考虑到Apple推出的iCloud,我们确实要对创建出的文件按照作用的不同,分出几种类别出来,并设置文件备份属性attribute(需iOS5.0.1及以上),从而让iOS系统更好地管理和对待我们所创建的文件。iOS的文件分类、存放路径及文件属性关键数据内容:用户创建的数据文件,无法在删除后自动重新创建,且会路径:主目录/Documents属性:不要设置"不备份"管理:iOS系统即时遇到存储空间不足的情况下,也不会清除,同时会备份到iTunes或iCloud中缓存数据内 阅读全文
posted @ 2012-03-30 11:38 BigPolarBear 阅读(3415) 评论(0) 推荐(2)
摘要:初学iOS开发的同学,不管是自己写的,还是粘贴的代码,或多或少都写过下面的代码[[NSBundlemainBundle]pathForResource:@"someFileName"ofType:@"yourFileExtension"];[YourViewControllerinitWithNibName:"YourViewController"bundle:nil];可是你知道这里的bundle到底是个啥玩意呢?!Bundle简单地讲,就是一个内部结构按照标准规则组织的特殊目录iOS的应用都是通过bundle进行封装的,对应的bu 阅读全文
posted @ 2012-03-28 18:33 BigPolarBear 阅读(28999) 评论(5) 推荐(4)
摘要:都说做iOS开发比Android省心,那么iOS是如何做到这一点的呢?我们今天就来分析一下,希望对做iOS的界面设计的同学有点帮助。1 iOS设备的分辨率iOS设备,目前最主要的有3种(Apple TV等不在此讨论),按分辨率分为两类iPhone/iPod Touch普屏分辨率320像素 x 480像素Retina分辨率 640像素 x 960像素iPad,iPad2/New iPad普屏 768像素 x 1024像素Retina屏 1536像素 x 2048像素2 iOS设计时用的点与分辨率的关系尽管有上面列出的4种分辨率情况,不过细心的人会发现,对于Retina屏的分辨率始终保持为普屏的2 阅读全文
posted @ 2012-03-26 13:43 BigPolarBear 阅读(23411) 评论(3) 推荐(2)
摘要:判断NSString字符串为空几乎是每一个开发人员肯定会碰到的问题,对于绝大多数人最先闪过大脑的是下面的方法if([yourTextStringisEqualToString:@""])但是很遗憾,这样的判断往往经常会出现失败的情况,造成很多莫名其妙的bug,例如如果用这种方法判断UITextField是否为空便会出现问题[yourTextField.textisEqualToString:@""]上面这行代即时在用户未进行任何输入的情况下,也会为NO,这是什么原因呢?答案其实很简单,yourTextField.text 在最初创建后的值为nil,nil 阅读全文
posted @ 2012-03-24 13:20 BigPolarBear 阅读(4052) 评论(0) 推荐(4)
摘要:开发iOS,必然少不了和XCode这个家伙打交道。平时我们调试自己的App的时候,最常用到的就是模拟器Simulator了,调试的时候,我们的App会自动被XCode安装到模拟器中去,不过:你知道模拟器这个家伙在哪儿吗?模拟器里面的目录结构是什么样的?你的App安装在模拟器的哪个目录里了?你的App里的结构是什么样的?不要读文档了,赶紧来看一看吧模拟器的目录在这里:/Users/你当前登陆的用户名/Library/Application Support/iPhone Simulator/你的App被XCode Build在这里:/Users/你当前登陆的用户名/Library/Develope 阅读全文
posted @ 2012-03-23 18:44 BigPolarBear 阅读(10456) 评论(0) 推荐(0)
摘要:最近在自己的sae上部署了一个WordPress,身为一个开发人员,文章里带点代码总是少不了的,但是令人郁闷的是WordPress本身并不支持代码的之间嵌入,从网上找了下有两种方式1 使用在线的网站将代码粘贴进去第三方网站,直接生成语法高亮的html代码,然后通过WordPress里编辑文章的html模式,完成嵌入。这种方式的好处是,完全不需要对WordPress做任何变更,坏处是要到一个第三方网站去,总让人感觉不爽,这里不推荐这种方式2 给WordPress添加插件这是我推荐的方式,简单,方便。我使用的插件是SyntaxHighlighter。首先,从网站上下载插件的zip包,解压后的文件夹 阅读全文
posted @ 2012-03-23 18:43 BigPolarBear 阅读(892) 评论(1) 推荐(0)
摘要:1 忘记设置frame容易发生在直接init后,单独调整frame最后却忘记将调整后的frame变量赋值回去的情况2 忘记设置userInteractionEnabled,导致需要响应用户操作的控件无反应这个情况多出现在superView忘记开启,例如创建一个UILabel在上面放上几个UIButton,默认情况下,Button是无响应的,要对UILabel的userInteractionEnabled属性设置为YES后,才会正常。3 忘记将创建好的UIView元素通过addSubViews添加到对应的superView上对于连续创建一堆UIView元素时,易犯此错误4 忘记release创建 阅读全文
posted @ 2012-03-23 18:41 BigPolarBear 阅读(313) 评论(1) 推荐(0)
摘要:浏览一系列图片时,我们会经常使用UIScrollView来进行实现,因为其自带的pagingEnabled属性,可以非常方便的自动支持手势左右轻扫切换切换页面。pagingEnabled不过最近做的一个产品,设计的效果有所不同,希望每一页图片的宽度小于屏幕宽度,但也要保证图片之间是相连的,即在屏幕的中间部分显示一幅图片,中间两边显示相邻图片的一小部分,最开始发现有点棘手,需要关闭pagingEnabled属性,自己实现分页效果。但是尝试之后发现要想达到满意的交互体验,要做的事情真不少,偶然的机会想到了一个巧妙的方法来达到这一效果,即:将UIScrollView大小设置为一张图片的大小,然后嵌入 阅读全文
posted @ 2012-03-23 18:39 BigPolarBear 阅读(4624) 评论(0) 推荐(0)
摘要:正常使用UIView的animateWithDuration:delay:options:animations:completion:实现动画时,默认是屏蔽所有用户交互的,那么如何才能在动画进行时,也允许响应用户操作呢?其实很简单,只需要对于参数options:使用UIViewAnimationOptionAllowUserInteraction即可,此参数为按位的枚举值,故允许同时使用多个参数,通过按位或运算符“|”进行分隔。 阅读全文
posted @ 2012-03-23 18:33 BigPolarBear 阅读(342) 评论(0) 推荐(0)
摘要:UITapGesture等手势在iOS 5以下的版本运行时,一定不要通过Interface Builder进行添加,只可以通过编码的方式添加,否则会导致运行时报"unrecognized selector:" "initWithCoder"的错误,切记切记 阅读全文
posted @ 2012-03-05 15:51 BigPolarBear 阅读(307) 评论(0) 推荐(0)
摘要:今天写代码,发现在通过loadNibNamed创建一个ViewController后,调用其IBOutlet的property时竟然是nil!!反复核对一切链接都正常,而且在ViewController内部调用这些IBOutlet都没问题,试着在viewDidLoad中加了个日志,赫然发现竟然viewDidLoad在执行完loadNibNamed后并没有执行,所以IBOutlet当然是nil了!最后的解决方案其实很简单,就是把调用IBOutlet的property的代码放到pushViewController之后,一切就都正常了。 阅读全文
posted @ 2012-03-02 16:07 BigPolarBear 阅读(1261) 评论(0) 推荐(0)