2013年11月15日
摘要: 最近有点小忙,虽然还抽空去SH参加了iOS的Talk。主要做的是修改了个xCode4.x时代就有的项目,主要内容是添加对iOS7的支持并完成release。不曾想项目本身还有好多问题,在修复过程中发现这些问题都是容易犯错的地方。于是准备一一记录,权且作为一个总结。本文已同步到iCocoa,欢迎访问。iPad上Present Modal View Controller通常情况下,iPad上使用spliteVC,这时如果需要弹出modalVC的时候,需要使用spliteVC来present。如果是用master弹出,当从横屏转向竖屏的时候,由于master会隐藏,所以弹出的modalVC也会消失。 阅读全文
posted @ 2013-11-15 14:15 scorpiozj 阅读(586) 评论(0) 推荐(0) 编辑
  2013年11月3日
摘要: 之前通过学习官方文档对runtime有了初步的认识,接下来就要研究学习runtime到底能用在哪些地方,能如何改进我们的程序。本文也可以从icocoa浏览。SwizzlingSwizzling可以分为method swizzling和class(isa)swizzling两种。顾名思义就是将方法/类在运行时替换掉。Method Swizzling在运行时替换/修改某个方法——可以是自己写的方法也可以是系统的方法——当然一般是用于替换框架类中的方法。//ZJView.m -Swizzling+ (void)swizzleSetFrame{ SEL originalSel = @select... 阅读全文
posted @ 2013-11-03 16:49 scorpiozj 阅读(1049) 评论(0) 推荐(0) 编辑
  2013年11月1日
摘要: 大家也可以到这里查看。UICollectionView是iOS6引入的控件,而UIDynamicAnimator是iOS7上新添加的框架。本文主要涵盖3部分:一是简单概括UICollectionView的使用;二是自定义一个UICollectionViewLayout来实现不同的Collection布局;三是在自定义UICollectionViewLayout的基础上添加UIDynamicAnimator。1. 使用UICollectionView因为UICollectionView在iOS6上就引入了,所以这里就简单的介绍下。在正式使用前,我们有必要对UICollectionView认识一下 阅读全文
posted @ 2013-11-01 17:08 scorpiozj 阅读(5366) 评论(0) 推荐(1) 编辑
  2013年10月22日
摘要: 转载自这里。最近看了一本书——iOS6 programming Pushing the Limits(亚马逊有中文版),最后一章是关于Deep ObjC的,主要内容是ObjC的runtime。虽然之前看过runtime的programming guide,但读之乏味也不知道能用在何处。现在有点小小的理解,觉得别有乾坤,索性把runtime的相关东西给整理一下。 下面就从官方文档开始,看看runtime有哪些特性,以及各自的应用场合。基本概念对于现在绝大多数的64位操作系统而言,我们接触到的都是ObjC2.0的modern runtime。ObjC程序从3个层次来使用到runtime:1.Obj 阅读全文
posted @ 2013-10-22 23:06 scorpiozj 阅读(1520) 评论(5) 推荐(0) 编辑
  2013年10月11日
摘要: 原文来自:QLViewController在iOS7下的自定义原先的项目使用了quicklook framework,用于在iPhone上浏览各类文件,除了txt文本会有乱码的问题,其他文件的显示都非常正确。为了使得功能显得不那么单一,项目中继承了QLPreviewController,这样可以自定义添加navigationBar上的按钮,比如保存文件,编辑某些类型的文件等等。这一切在iOS7发布前都正常运行,在iOS7上运行却出现了奇怪的现象:自定义添加的按钮不见了,只存在一个QLPreviewController提供的默认按钮。于是debug,结果发现无论是在viewDidload或是vi 阅读全文
posted @ 2013-10-11 21:35 scorpiozj 阅读(1479) 评论(0) 推荐(0) 编辑
  2013年10月10日
摘要: 原文来自这里:iOS7下Status Bar字体颜色修改。旧项目在iOS7上遇到status bar字体颜色需要修改的问题,症状如下:导航栏设置为黑色后,iphone上status bar的字体颜色会自动变成白色,但是在ipad上status bar的字体颜色还是黑色,这样就看不清楚了。为了搞清原因,新建了一个Mater-Detail模版工程,观察了下status bar的颜色变化,如图:iphone- defaultipad default可见默认的,bar是白色透明,status bar上的字体是黑色。然后尝试把master中的bar修改成黑色不透明:[self.navigationCon 阅读全文
posted @ 2013-10-10 14:06 scorpiozj 阅读(3988) 评论(0) 推荐(1) 编辑
  2013年9月24日
摘要: 原文来自这里。今天用Xcode5的时候,发现默认的IBoutlet的属性设置为weak——因为Xcode5建立的工程都是ARC的了。但是当时还有点不明白,因为项目的原因,一直没有正式使用过ARC。于是,为了搞清楚为什么,google了一下,有很多答案。试着从Apple文档寻找线索,在这里找到了说明:From a practical perspective, in iOS and OS X outlets should be defined asdeclared properties. Outlets should generally beweak, except for those from 阅读全文
posted @ 2013-09-24 21:49 scorpiozj 阅读(3068) 评论(0) 推荐(0) 编辑
  2013年9月21日
摘要: 原文来自这里。iOS7中可以方便的给物体添加动态物理特性,主要使用到UIDynamicAnimator,UIDynamicBehavior以及实现了UIDynamicItem协议的对象。在iOS7中,UIView和UICollectionViewLayoutAttributes是默认实现了UIDynamicItem的。我们先看看三者的关系:UIDynamicAnimator首先通过reference view来初始化,referenceview主要提供动画的场地坐标,UIDynamicBehavior通过要生成动画的view来生成,然后添加到UIDynamicAnimator。 Animato 阅读全文
posted @ 2013-09-21 13:49 scorpiozj 阅读(536) 评论(1) 推荐(0) 编辑
摘要: 原文见这里。Asset Catalogs用于简化管理程序内用到的图片。每个asset catalog可以包含image set, App Icon, Launch Image和OS X Icon(如图)。图片添加可以通过import或者直接从finder里拖拽。catalog本质是文件夹,其中的子文件夹对应上述的4种类型,子文件内是资源文件和json文件。一个工程里可以有多个catalog,但工程只能含有一个App iCon和Launch Image。catalog里还可以对某一张图片进行切割。因为图片和imageview有可能不是一样的大小,我们可以通过切割来使图片的某一部分按找stretc 阅读全文
posted @ 2013-09-21 13:44 scorpiozj 阅读(718) 评论(0) 推荐(0) 编辑
  2013年9月20日
摘要: 本文转自App升级iOS7体会。xcode5 GM版已经发布,虽然还是pre-release版,但离最终版不远了。对于没有用到新特性的app面临的最大问题就是UI的变化。Apple提供了UI Transition Guide给开发者,原本打算翻译一下,没想到国内早就有译文了(唉~看来NDA对于某些人而言,等于NULL)。 鉴于此,这里侧重于Apple提供的cheklist以及app在升级过程中遇到的问题。管窥全豹扁平化的设计已经“流传”了很久,iOS7上标准控件(UIKit)有了翻天覆地的变化:按钮没有边,状态栏透明,导航栏变半透明,alert/progress/picker完全是新的表现形式 阅读全文
posted @ 2013-09-20 20:43 scorpiozj 阅读(1572) 评论(0) 推荐(0) 编辑