1、应用场景
新软件安装在第一次打开时都会有该软件或版本的介绍,在iOS中最经典的做法是搭建一个ScrollView分页展示
但考虑到iPhone4系统与iPhone5系统,屏幕适配如何更为科学简单是一门学问,以下提供一个参考
2、图片命名
一般是三图片,Retina屏之前屏幕一套、iPhone4(4S)一套、iPhone5(5C/5S)一套
1 2 3 | xxx_序号.png // iPhone3GS及以前,可忽略 xxx_序号@2x.png // iPhone4及iPhone4S xxx_序号-568h@2x.png // iPhone5及iPhone5C、iPhone5S |
如:
1 2 3 4 5 6 7 8 9 | new_feature_1.png new_feature_1@2x.png new_feature_1-568h@2x.png new_feature_2.png new_feature_2@2x.png new_feature_2-568h@2x.png new_feature_3.png new_feature_3@2x.png new_feature_3-568h@2x.png |
3、文件名自动识别
3.1、增加两个Category
NSString+SA
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | // // NSString+SA.m // SianWeibo // // Created by yusian on 14-4-12. // Copyright (c) 2014年 小龙虾论坛. All rights reserved. // 自定义字符串拼接方法 #import "NSString+SA.h" @implementation NSString (SA) - (NSString *)fileAppend:(NSString *)string { // 1、获取文件扩展名 NSString *ext = [self pathExtension]; // 2、去掉文件扩展名 NSString *str = [self stringByDeletingPathExtension]; // 3、拼接新加字符串 str = [str stringByAppendingString:string]; // 4、拼接扩展名 str = [str stringByAppendingPathExtension:ext]; return str; } @end |
UIImage+SA
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | // // UIImage+SA.m // SianWeibo // // Created by yusian on 14-4-11. // Copyright (c) 2014年 小龙虾论坛. All rights reserved. // // 判断是否为iphone5的宏 #define isIPhone5 ([UIScreen mainScreen].bounds.size.height == 568) #import "UIImage+SA.h" #import "NSString+SA.h" @implementation UIImage (SA) + (UIImage *)fullScreenImage:(NSString *)string { // 根据屏幕高度判断iphone5 if (isIPhone5) { string = [string fileAppend:@"-568h@2x"]; } return [self imageNamed:string]; } // 自动拉伸图片 + (UIImage *)resizeImage:(NSString *)imageName { UIImage *image = [UIImage imageNamed:imageName]; return [image stretchableImageWithLeftCapWidth:5 topCapHeight:5]; } @end |
4、创建ScrollView(关键代码)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #pragma mark 2.1、添加scrollView控件 - (UIScrollView *)creatScrollView // 控件的创建单独抽象成方法 { // 创建scrollView设置尺寸位置及相关属性 UIScrollView *scrollView = [[UIScrollView alloc] init]; scrollView.frame = self.view.bounds; scrollView.contentSize = CGSizeMake(_size.width * kPicCount, 0); scrollView.pagingEnabled = YES; scrollView.showsHorizontalScrollIndicator = NO; scrollView.delegate = self; // 创建新特性图片设置尺寸位置并添加到scrollView for (int i = 0; i < kPicCount; i++) { UIImageView *imageView = [[UIImageView alloc] init]; [scrollView addSubview:imageView]; NSString *imageName = [NSString stringWithFormat:@"new_feature_%d.png", i + 1]; imageView.image = [UIImage fullScreenImage:imageName]; imageView.frame = CGRectMake(_size.width * i, 0, _size.width, _size.height); } return scrollView; } |