推出面向IPad的横向应用

Sag*_*... 6 iphone ipad

面向IPad启动横向应用的一个问题.我开发了IPhone应用程序,后来我移植到IPad.

我已经在info.plist中设置了关于方向的设置

[ UISupportedInterfaceOrientations~ipad ] to support all orientation UIInterfaceOrientationPortrait , UIInterfaceOrientationPortraitUpsideDown , UIInterfaceOrientationLandscapeLeft , UIInterfaceOrientationLandscapeRight.
Run Code Online (Sandbox Code Playgroud)

但是当我在横向模式下启动IPad应用程序时,它总是以potrait模式启动.

沿着这个

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

{ return YES; }
Run Code Online (Sandbox Code Playgroud)

帮助我,如果我错过了这个...

谢谢,

萨加尔

小智 10

这里也是我发现的东西:如果在第一个插槽中设置了另一个方向的支持接口方向,则会忽略在info.plist中设置初始界面方向!将初始方向放在那里 - 模拟器将正确启动,应用程序也将如此.这让我疯了很长时间!


小智 9

将UISupportedInterfaceOrientations放入-Info.plist中,并为您支持的每个方向设置.这用于查看应用程序可以从哪个方向开始.从那时起,它将询问您的视图控制器.


Tom*_*ift 5

Sagar - 我有同样的问题,但能够解决它.

和你的一样,我的应用程序最初是一个iPhone应用程序,我使用XCode向导"升级"为通用应用程序.我注意到,当在真实的iPad上运行时,从横向开始,应用程序将以纵向开始,然后可以旋转到横向.在模拟器上,从横向开始,应用程序将在Landscape中启动,然后模拟器将旋转到Portrait.

在iPad上,我的应用程序是一个左右分别具有TabBarControllers的拆分视图应用程序.每个选项卡都是一个视图控制器,它向shouldAutoRotateToInterfaceOrientation返回YES.

我注意到一个全新的向导生成的简单案例与splitviewcontroller,Universal应用程序没有这个问题.

我在应用程序和简单案例之间发现的差异是我没有将我的splitview-controller的视图添加到applicationDidFinishLaunchingWithOptions中的应用程序窗口.相反,我在此阶段显示"加载"视图,然后在初始化线程完成后,我将添加我的splitviewcontroller视图(并隐藏"加载"视图).

当我在调用applicationDidFinishLaunchingWithOptions期间将我的splitviewcontroller的视图添加到应用程序窗口时,一切正常.

从applicationDidFinishLaunchingWithOptions返回时必须有一些魔法?

你的应用程序是否与我的类似,因为它在applicationDidFinishLaunchingWithOptions期间没有将主视图控制器的视图添加到窗口中?