我正在开发一款仅限iPhone的应用。此应用程序在支持的界面方向中支持纵向和横向方向,但在应用程序的第一个视图中,我使用以下代码禁用旋转:
- (BOOL)shouldAutorotate
{
return NO;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
现在,我的问题是,当我在 iPad 上使用 iOS 6.1 启动应用程序,同时将iPad保持在横向模式时,应用程序将以纵向模式启动状态栏处于横向模式。此外,该应用程序不响应任何触摸。
我已尝试在YES
的调用中返回shouldAutorotate
或通过调用[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait]
以纵向模式设置状态栏,但是当我执行此操作时应用程序切换3次方向(横向 - >纵向颠倒 - >肖像)在启动时导致大量闪烁,所以这似乎不是要走的路,或者是它?
答案 0 :(得分:1)
AppDelegate功能中的内容
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{ }
默认情况下,应用程序和视图控制器支持的界面方向设置为iPad惯用语的UIInterfaceOrientationMaskAll和iPhone惯用语的UIInterfaceOrientationMaskAllButUpsideDown。
在supportedInterfaceOrientationsForWindow函数中检查选定的viewcontroller,然后将其设置为Portrait direction。