1、
http://www.cocoachina.com/applenews/devnews/2013/0321/5860.html
原文地址:http://www.raywenderlich.com/33150/how-to-update-your-apps-for-the-4-inch-iphone-5-display
2、
http://www.cocoachina.com/applenews/devnews/2013/0326/5889.html
3、
1.需要添加一张启动图片,大小:640*1136,添加后默认命名为Default-568h@2x.png。图片适配,对于高清的1136图片,命名同样使用@2x,只是改名图片名称,如image-1-os5.png,image-1-os5@2x.png,在代码中判断iphone5?(image-1):(image-1-os5),没有@22x这种。
#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)
2.iphone5的View为568,减去Nav(44)+任务栏(20),为504,相比iphone4s及以前版本的480,减去Nav+任务栏,为416,高出88(差别).
3.代码修改:
(1).iphone5中,需要修改的值就是y、height,根据具体的差别。简单的修改View‘s height:
view.frame = CGRectMake(0, 0, 320, 416+(iphone5?88:0))
y修改类似。
(2).Controller初始化:
AViewController *aViewContrller = [[AViewController alloc] initWithNibName:(iPhone5?@"AViewController-5":@"AViewController") bundle:nil];
4.XIB修改:
(1).View、Tableview等界面,直接修改Autosizing属性,使其上下拉伸。
(2).部分无法修改的View(如view内增加了2个固定大小的view),需要创建一个新的XIB文件(假设AController-5.xib),添加View并在Simulated Metrics中设置Size为Retina 4 Full Screen,然后根据固定的位置重新布局,再使用第3部分(2)。
5.其他部分:
1.UITableView默认分组表背景如果需要改为白色,需要去掉BackgroundView。
2.旋转需要修改CGRect的X。
3.passbook部分介绍。
4.模拟器home快捷键:shift+command+H。
5.待补充。
6.浮动的一些筛选项,尽量使用Nav的push打开,避免修改尺寸。
当使用 initWithNibName 函数, 并使用 由nib文件生成的ViewController 的view属性时候,遇到这个问题。
//load loc.xib
UIViewController * UIVC = [[UIViewController alloc] initWithNibName:@"loc" bundle:nil];
[self.view addSubview:UIVC.view];
[UIVC release];
NibName[2203:207] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "loc" nib but the view outlet was not set.'
表面意思是指 我们加载的nib文件,"view" 属性值没有进行设置.
这里的实际情况: 不是所生成的 VC 的view属性值为 nil, 而是所生成的 VC 没有 view 这个属性。 我们使用的是UIViewController 定义的VC, 为什么 VC (View Controller) 会没有 view 属性呢?
(多么具有逻辑性的表述都不如一次成功的完整操作,begin :)
解决方案:
1. 点击我们要加载的 xib 文件
2. 在右边选中 File's Owner
3. 在 File's Owner 的 选项卡的“Custom Class” 属性设置中,将 Class 的值改成对应的 VC, 这里改成 UIViewController,
4. 这时候,在File's Owner 的 选项卡中, 就 会出现“待连接设置” 的 view 属性, 也即我们的编译器 告诉我们的 the view outlet was not set 中的 view。当 File's Owner 的 class 为 NSObject 时候,是没有 view 属性的。
连接 view 属性,
5. win+r, OK.