我有一个 iPad 应用程序,我需要它在加载过程中始终以 ladnscapeLeft 模式加载,之后它可以旋转并响应方向变化并转到任何其他方向。我怎样才能做到这一点?我尝试将 plist.info 文件更改为只有 Landscapeleft,但这会在应用程序的整个生命周期中锁定该方向。
所以澄清一下,应用程序应该只在 ladnscapeLeft 中加载,一旦加载完成,它可以响应其他方向。
我有一个 iPad 应用程序,我需要它在加载过程中始终以 ladnscapeLeft 模式加载,之后它可以旋转并响应方向变化并转到任何其他方向。我怎样才能做到这一点?我尝试将 plist.info 文件更改为只有 Landscapeleft,但这会在应用程序的整个生命周期中锁定该方向。
所以澄清一下,应用程序应该只在 ladnscapeLeft 中加载,一旦加载完成,它可以响应其他方向。
您需要覆盖UIViewController
旋转事件。这是一个例子:
-(BOOL)shouldAutorotate
{
return YES;
}
-(NSUInteger)supportedInterfaceOrientations
{
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
if (appDelegate.topViewController != nil) {
return [appDelegate.topViewController supportedInterfaceOrientations];
} else {
return UIInterfaceOrientationMaskPortrait;
}
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
if (appDelegate.topViewController != nil) {
return [appDelegate.topViewController preferredInterfaceOrientationForPresentation];
} else {
return UIInterfaceOrientationPortrait;
}
}