首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >支持LandscapeLeft和LandscapeRight方向的iPhone闪屏

支持LandscapeLeft和LandscapeRight方向的iPhone闪屏
EN

Stack Overflow用户
提问于 2016-12-27 15:36:56
回答 2查看 300关注 0票数 1

我试图使用UILaunchImagesLandScapeLeftLandScapeRight方向提供不同的图像,但他们中只有一个是被拾取的,谁能提供LandScapeLeftLandScapeRight方向的UILaunchImages的确切命名约定,我希望为iPhone,iOS8和以上提供这些图像。

确切地说,我正在寻找具有适当iOS8命名约定的启动映像的确切大小,有一些较旧的帖子确实提供了UILaunchImages的详细信息,但我看到在Apple Human Interface Guideline中,映像大小已经针对iOS的最新更新进行了更新

我希望实现的景观闪屏只与UILaunchImages。

在info.plist中,我将支持的方向设置为LandscapeLeft和LandscapeRight only。

我已经在iPhone 5c和iPhone 6 plus上进行了测试

根据苹果文档

命名启动映像文件

每个启动映像的名称都传达了它的用途和使用方式。建议您使用以下格式作为启动镜像文件名:

"basename-usage_specific_modifiers.png“

文件名的部分是使用UILaunchImageFile键指定的字符串。(如果未指定密钥,iOS将使用字符串Default作为启动映像名称。)对于基本名称,您可以添加几种不同类型的修饰符:

高分辨率图像修改器-使用@2x修改器来识别用于Retina显示的图像。

特定于平台的修饰符-使用修饰符~iphone或~ipad来指定针对特定设备大小的图像。

特定于方向的修饰符-当设备处于特定方向时,使用字符串-Landscape、-Portrait、-LandscapeLeft、-LandscapeRight或-PortraitUpsideDown指定启动图像。较特定的方向修改器优先于较不特定的方向修改器。例如,当设备处于正确方向时,具有-LandscapeLeft修改器的图像优先于具有-Landscape修改器的图像。

iPhone 5修饰符-使用字符串-568h指定用于屏幕高度为568点的设备的启动图像。因为这样的设备也有Retina显示屏,所以您还应该在图像名称中包括@2x修饰符。

URL方案修饰符-如果您希望在启动应用程序时显示这些启动图像以打开指定类型的URL,请在启动图像名称中包含应用程序的自定义URL方案的名称。方案修饰符的格式为-,其中是您的自定义方案名称。例如,如果您的应用程序打开形式为myscheme://example.com的URL,则应在启动图像名称中包含-myscheme。

EN

回答 2

Stack Overflow用户

发布于 2016-12-28 01:01:18

你可以说:

根据苹果公司命名您的启动图像文件的文档,每个启动图像的名称传达了其用途和使用方式

但是您不理解的是,该文档非常旧,只有在Info.plist中使用单个启动映像条目时,才会遵守命名约定。这不是你要做的。您在Info.plist中使用了启动图像数组。因此,启动映像的名称完全是任意的;只有数组中每个启动映像的UILaunchImageOrientation告诉系统在启动时使用什么。实际上,在这种情况下,您不能使用先前文档中的命名约定。

您将需要阅读本文档:

https://developer.apple.com/library/content/technotes/tn2244/_index.html

还有这一条:

https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW28

特别要注意这句话:

为此注册表项指定的名称,即UILaunchImageName不应包含文件扩展名,也不应包含@2x__、-568h__、~iphone__或~ipad__等修饰符。

重点是我的。

票数 0
EN

Stack Overflow用户

发布于 2016-12-27 15:47:42

尝试使用此方法来检测设备方向,

代码语言:javascript
复制
UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;

if(orientation == 0) //Default orientation 
    //Your image for this Orientation 
else if(orientation == UIInterfaceOrientationPortrait)
    //Set image if the orientation is in Portrait
else if(orientation == UIInterfaceOrientationLandscapeLeft)
    // Set image if Left

else if(orientation == UIInterfaceOrientationLandscapeRight)
    //Set image if right

有关更多参考信息,请访问this link

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41340998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档