我遇到了设备旋转问题。除了显示公司启动画面的 ONE 视图之外,我想将所有剩余的应用程序视图锁定为纵向显示。在项目设置中,支持的方向是纵向和横向。在“Company Splash”中,它工作正常,并且无论我如何旋转设备,视图旋转都被锁定到 LandscapeLeft。在所有其他视图中,当我将设备向左旋转时,视图会发生变化,而不是保持纵向显示。连开枪的方法都没有?如果我从项目中支持的方向中删除横向左侧,则会破坏“公司飞溅”视图。我尝试将shouldAutorotate
return 更改为NO
,但这没有帮助。试图通过这里发布的建议来工作,但这没有帮助。如果我将以下代码放入我的 AppDelegate.m 中,所有内容都被锁定为纵向模式,并且“公司启动画面”在访问时崩溃。
-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown;
}
除了一个屏幕外,无论设备如何旋转,如何将视图锁定为纵向模式?
** 来自“Company Splash”视图的方法。再次,按预期工作。
-(NSInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscapeLeft;
}
** 来自所有其他视图的方法,当我不希望它们旋转时,它们会旋转
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// IOS5 Only returning that it should rotate to potrait
return (interfaceOrientation == UIDeviceOrientationPortrait);
}
-(BOOL)shouldAutorotate
{
// forcing the rotate IOS6 Only
return YES;
}
-(NSInteger)supportedInterfaceOrientations
{
// return number or enum IOS6 Only
return UIInterfaceOrientationMaskPortrait;
}
我想这可能是因为 UITabBarController 是根控制器,而我在 ViewController 中?连开枪的方法都没有?