iOS 启动页多语言化

980 阅读2分钟

「这是我参与2022首次更文挑战的第10天,活动详情查看:2022首次更文挑战」。

前面有介绍过多语言的文章,应该算是步骤很清晰的了。应用名,应用内文字,图片,xib,这些基本都是一个套路了。那么现在看看这个启动页的多语言。没错,它是不吃这一套的。

  按照多语言的流程一顿操作,诶?? 发现毫无作用?曾经我也是想在启动页上动态的修改一些版本啊,文字什么的。然而并不能有这种优秀的操作。根据苹果die 的尿性,这玩意是在程序加载时显示的,不建议动态修改。

当然了,我们是可以通过UILaunchImages来做启动页图片的多语言的。

它有这么几个key:

UILaunchImageName (required) 启动页资源名称 UILaunchImageMinimumOSVersion(required) 启动页支持的最低版本 UILaunchImageSize 启动页尺寸
UILaunchImageOrientation 启动页方向

其实呢也是很简单的操作,下面来走一波流程吧。

首先在项目general ->App Icon Source 选择don`t use 。

image.png

Launch Screen File 干掉。

image.png

把你的Info.plist 用文本编辑打开,把下面的东西复制进去。(自行删减)
<key>UILaunchImages</key>
    <array>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>7.0</string>
            <key>UILaunchImageName</key>
            <string>Default</string>
            <key>UILaunchImageOrientation</key>
            <string>Portrait</string>
            <key>UILaunchImageSize</key>
            <string>{320, 480}</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>7.0</string>
            <key>UILaunchImageName</key>
            <string>Default-568h</string>
            <key>UILaunchImageOrientation</key>
            <string>Portrait</string>
            <key>UILaunchImageSize</key>
            <string>{320, 568}</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>7.0</string>
            <key>UILaunchImageName</key>
            <string>Default-iPhone6</string>
            <key>UILaunchImageOrientation</key>
            <string>Portrait</string>
            <key>UILaunchImageSize</key>
            <string>{375, 667}</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>7.0</string>
            <key>UILaunchImageName</key>
            <string>Default-iPhone6Plus</string>
            <key>UILaunchImageOrientation</key>
            <string>Portrait</string>
            <key>UILaunchImageSize</key>
            <string>{414, 736}</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>7.0</string>
            <key>UILaunchImageName</key>
            <string>Default-Portrait~ipad</string>
            <key>UILaunchImageOrientation</key>
            <string>Portrait</string>
            <key>UILaunchImageSize</key>
            <string>{768, 1024}</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>7.0</string>
            <key>UILaunchImageName</key>
            <string>Default-PortraitUpsideDown</string>
            <key>UILaunchImageOrientation</key>
            <string>Portrait</string>
            <key>UILaunchImageSize</key>
            <string>{768, 1024}</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>8.0</string>
            <key>UILaunchImageName</key>
            <string>Default-812h</string>
            <key>UILaunchImageOrientation</key>
            <string>Portrait</string>
            <key>UILaunchImageSize</key>
            <string>{375, 812}</string>
        </dict>
    </array>
然后拖入对应的图片,每个语言设置不同的图片覆盖可以了。app卸载一下,运行切换语言就可以看到效果了。

image.png

举个栗子

PS:当然如果你一定要再启动页上做一些siao操作的多语言,那么我想你可以在启动页后做一个一模一样的界面,在那个界面上来处理多语言。当然这只是一种实现方式而已拉。自行把握咯。