iOS中启动图的多语言适配怎么做

如题所述

首先,先创建一个简单地工程。如图。这里我们选择“SingleViewApplication”工程。名字就叫“ZYScreenTest”。位置选择桌面就可以了。我们在Main.storyboard中把“UseAutoLayout”和“UseSizeClasses”选项勾掉,默认的是勾选上的。在把我们的ViewController尺寸调节成5s的尺寸或者4的尺寸都行,看个人习惯是在5s上做布局还是4上做布局。笔者这里就以5的屏幕给大家介绍。选中当前ViewController,中间的选项,进行XIB尺寸调整,这里可以根据习惯选择是3.5寸还是4寸等。之后我们拖拽一个imageView,放在(110,50)的位置,尺寸设置为(100,100)。如图。再拖拽一个imageView,尺寸一样,位置放置在(110,240)的位置作对比。如图。目的是随着屏幕变化,对应控件坐标宽高发生相应可控的变化,以达到屏幕适配的目的。修改两个ImageView背景颜色作为区分,修改两个ImageView的Autoresizing相同,都已第二个拖拽的imageView为准,选择居上,居右位置不变的约束。之后,我们给下面的imageView再AutoSizing添加如图约束。去掉上下左右约束,保留内部宽高约束。。好,用5模拟器运行。运行效果如图。会发现没有什么变化,因为我们毕竟是用5的屏幕布局的,所以在5上运行效果和我们布局的界面差不多的。接下来再用iPhone6plus模拟器运行,我们会发现上面的ImageView的autoSizing只添加向上向下约束坐标和宽高都没变,下边的ImageView坐标和宽高都相应的变化了,基本和我们刚才在iPhone5模拟器上运行的基本比例一样。但是两个控件之间的布局已经和在StoryBoard上的布局不一样了。给第一个ImageView添加同样约束,再在6plus模拟器上运行,如图,会发现其布局和在StoryBoard上布局一致。也就是说在AutoSizing只添加宽高约束的控件,会按照屏幕比例放大。iPhone6以上使用的是三倍图,好我们准备三张不同的图片,分别是原图,二倍图,三倍图。这里笔者就随便找三张图了,分别命名为“test.png”(100p*100px),"[email protected]"(200*200px),“[email protected]”(300*300px),用来判断分辨率,iPhone6plus和iPhone6默认使用的是@3x图片,iPhone5和5s以及4s使用的是@2x图片。这里是用来验证我们的适配。在“Images.xcassets”里面创建一个“NewImageSet”,重命名为“test”,把刚才的三张图片拖进去。然后对我们刚才拖拽的imageView设置图片。设置图片,直接在“image”属性里面写我们刚才对ImageSet命的名字“test”。再用iPhone5模拟器运行,运行效果如图。看到5模拟器上运行加载的图片都是@2x图片,也就是二倍图。两个imageView都加载了,说明,在AutoSizing中只勾选宽高约束,不影响iPhone5界面布局。用iPhone6plus模拟器运行。,说明约束也是不影响加载三倍图的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-01-11
几种方法:方法1:在AppDelegate.m里写上-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{[NSThreadsleepForTimeInterval:2.0];[_windowmakeKeyAndVisible];//Overridepointforcustomizationafterapplicationlaunch.returnYES;}方法2:Timer,Thread都可以延时1,如果是静态的数据,启动页面想让用户看清楚,那么sleep延时是最简单的方法。2,如果是要动态显示加载进度,应用信息,就要字定义view,延时消失。方法3:iPhone开发实现splash画面非常简单,做一个全屏的欢迎页的图片,把它命名为Default.png,然后放在Xcode工程的Resource里面。在XXXAppDelegate.m程序中,插入如下代码:-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{//–insertadelayof5secondsbeforethesplashscreendisappears–[NSThreadsleepForTimeInterval:5.0];//Overridepointforcustomizationafterapplicationlaunch.//Addtheviewcontroller’sviewtothewindowanddisplay.[windowaddSubview:viewController.view];[windowmakeKeyAndVisible];returnYES;}这样splash页面就停留5秒后,消失了。
第2个回答  2017-01-11
用WLAN更新吧。网速差。