闪屏方向锁定

13

当应用支持所有方向时,我们是否可以锁定闪屏在纵向方向?当前,如果我在设备为横向时启动应用程序,将使闪屏看起来非常丑陋,我只需要在纵向方向中使用它。


启动画面是通过Storyboard实现的吗?如果是,您只需要修复一下约束即可。 - mugx
但我不需要在横屏模式下显示启动画面。我认为更正约束条件对此没有任何好处... - vishnu_146
由于您的应用程序支持所有方向,因此您必须遵守该规定。闪屏包含什么? - mugx
只是一些UIImageviews和UILabels。 - vishnu_146
1
发现了另一种解决方案,只需在 info.plist 中将方向设置为竖屏,并从 Appdelegate 返回所需的方向以供窗口支持接口方向,我怀疑执行顺序对此起了作用。 - vishnu_146
2个回答

14

如果您想在单一方向上使用启动屏幕故事板,请更改info.plist以仅指定该方向。

然后,如果您想让应用程序在启动屏幕故事板完成后运行不同方向的屏幕,只需向应用程序委托(Objective-C)中添加以下方法:

- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
    UIInterfaceOrientationMask theMaskToReturn = UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft | "etcetera";

    return  theMaskToReturn;
}

然后在整个应用中使用单个导航控制器(如果您子类化此单个导航控制器,则它必须具有与上述相同的masktoreturn)。

然后,在每个VC中,您可以指定支持的方向。

请注意,如果您通过MFMailComposer或ActivityVC进行共享,这两者都是从VC中呈现的self,那么masktoreturn必须包括可允许的方向。


1
好像是黑客,但很不错。它正在工作,谢谢。 - meerkat

4
唯一将启动画面锁定为纵向方向的方法是将应用程序的支持方向设置为仅纵向。

是的..我不得不锁定应用程序为竖屏,这解决了我的问题..谢谢你们!!!!☺ - vishnu_146

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接