iphone5适配

29 篇文章 0 订阅
21 篇文章 0 订阅

待续。。。


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(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640,1136),[[UIScreen mainScreen] currentMode].size):NO)

2、iphone5的View为568,减去Nav(44)+任务栏(20),为504,相比iphone4s及以前版本的480,减去Nav+任务栏,为416,高出88(差别)。
     修改代码:(1)iphone5中,需要修改的值就是y、height,根据具体的差别。简单的修改View's heght:
                               view.frame = CGRectMake(0,0,320,416+(iphone5?88:0))
                         (2) Controller初始化:
                               AViewController *aViewController = [[AViewController alloc] initWithNibName:(iphone5?@"AViewController-5":@"AViewController") bundle:nil];

3、XIB修改:
    (1)View、TableView等界面,直接修改Autosizing属性,使其上下拉伸。
    (2)部分无法修改的View(如view内增加了2个固定大小的view),需要创建一个新的XIB文件(假设AController-5.xib),添加View并在Simulated Metrics中设置Size为Retaina4Full Screen,然后根据固定的位置重新布局,再使用第3部分(2)。

4、其余部分:
      (1)UITableView默认分组表背景如果需要改为白色,需要去掉BackgroundView.
        (2)  旋转需要修改CGRect的X。
      (3)passbook部分介绍。
      (4)模拟器home快捷键:shift+command+h.
        (5)  浮动的一些帅选项,尽量使用Nav的push打开,避免修改尺寸。

5、 UITableView
        (1)  在使用背景色的时候,自带系统默认颜色:“Group Table View Background Color”消失。需要换别的颜色

6、Retina 4 launch image
      更新xcode适配新系统:ios4支持Retain需要@2x的图,ios5不支持udid
      添加Retina 4 launch image,运行工程的时候主动提示您。直接add就会默认添加一张Default@2x.png的黑图,不添加的话,程序运行起来下面会有黑边儿。

7、关于多个Target
      我们知道添加图片的时候,灰指甲加到工具里,这时候如果有多个Target的时候,直接Default-568h@2x.png文件,拖拽到相应的“Copy Bundle Resources”里就好了。

8、xcode4.5不再支持armv6即:ios4.3.3以下系统。

9、判断iphone的代码
#define iphone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size):NO)
用到的时候直接 if (iphone5){xxoo}

10、关于xib自适应的问题
默认的话,如果你的界面上包含scrollview/tableView的话,这个界面基本上是不用改的,应为中间部分会自动拉还说呢。如果不包含这个两个全屏的控件的话,怕是要自己再添加一个专门针对iphone5的xib了。办法是、新建一个xib文件,将里面的view的size设置成Retina 4 Full Screen就可以了,

11、关于屏幕旋转
 ios取消了一个api,增加了两个api,但是这一去一加满足不了我的情况:例如应用的所有的界面都是竖屏,只有一个屏幕是横屏。
     首先:这个横屏的xib里面的biew就是横的
     其次:屏幕适应只支持横屏
     - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{
      return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}
     第三:在这个view是present出来的
     第四:viewDidLoad里影藏状态栏
     - (void)viewDidLoad
{
 if (IOSSystemVersion >= 5.0){
//5.0及以后,不整这个,界面错位,整这个带动画容易看到一个白头
[[UIApplication sharedApplication] setStatusBarHidden:YES];
}
}

第五:viewWillApear自己将view旋转90度
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[UIView animateWithDuration:0.0f animations:^([self.view setTransform:CGAffineTransforMakeRotation(M_PI/2)];
if (iphone5) {
self.view,frame = CGRectMake(0,0,568,320);
} else {
self.view.frame = CGRectMake(0,0,480,320);
}
)];
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值