iOS引导页国际化(本地化)
2020-11-02 本文已影响0人
田陌允
踩了个不大不小的坑
记录分享一下
1.LauchScreen按官方说法,不提倡本地化,无特别要求都采用内容在中间的静态图,
设置image为Lauch;然后只需在在Assets.xcassets中新建image set,添加各机型适配的图片即可(ui提供)
说明:内容在中间是因为我的适配采用简单粗暴处理方式(只给x1,x2,x3三张图)。在Content Mode—>选择Scale To Fill或者Aspect Fill,让图片自己压缩。Scale To Fill会改变图片宽高比,Aspect Fill会造成图片显示不全。
参考
2.引导页的本地化
简单来说就是几句话:
CGFloat ratio = MAINVIEWWIDTH/MAINVIEWHEIGHT;
if (ratio < 0.5) {
_firstLoadImagePath = @"welcome1242_2688_3.jpg";
} else if (ratio < 0.6) {
_firstLoadImagePath = @"welcome1242_2208_3.jpg";
} else {
_firstLoadImagePath = @"welcome640_960_3.jpg";
}
UIImageView *imageView= [[UIImageView alloc] initWithImage:[UIImage imageNamed:_firstLoadImagePath]];
其中:
//屏幕长度
#define MAINVIEWHEIGHT [[UIScreen mainScreen] bounds].size.height
//屏幕宽度
#define MAINVIEWWIDTH [[UIScreen mainScreen] bounds].size.width
然后在项目根目录下新建如下文件结构
文件结构
再将Localization整个文件夹拖入项目中即可;
文件夹拖入项目
疑问:用Assets.xcassets中添加imageset再点Localization的方式,切换语言后也总是加载中文,有大佬知道的评论里说下,本人iOS新手囧
用Assets.xcassets中添加imageset再点Localization