这是在我的AppDelegate中,并在方向更改时运行。当应用程序加载它时,它总是以纵向模式加载。如果我在设备处于横向模式时加载应用程序,则仍然会像设备处于纵向模式一样执行。这是我遇到的第一个问题。第二个是在我将设备从纵向旋转到横向时加载后,我得到了一个断线,如下所示:
-(void)setOrientationView
{
UIDevice *currentDevice = [UIDevice currentDevice];
[currentDevice endGeneratingDeviceOrientationNotifications];
UIDeviceOrientation theOr = currentDevice.orientation;
if ( UIDeviceOrientationIsLandscape(theOr) && !isLandVisible )
{
NSLog(@"setLand");
isLandVisible = YES;
isPortVisible = NO;
[self.window.rootViewController pushViewController:portCont animated:YES]; // <Thread 1: breakpoint 2.1
}
if( UIDeviceOrientationIsPortrait(theOr) && !isPortVisible )
{
NSLog(@"setPort");
isPortVisible = YES;
isLandVisible = NO;
[self.window.rootViewController pushViewController:portCont animated:YES];
}
[currentDevice beginGeneratingDeviceOrientationNotifications];
}
我正在尝试使用故事板应用程序来支持加载时的方向,并且在查看后不会忽略视图(必须防止重新加载UIWebViews)。所以有两个问题超出了我的范围。谢谢你。
答案 0 :(得分:0)
“iOS应用程序编程指南”的Advanced App Tricks部分有一些关于Launching in Landscape Mode
的指南,可能是您的答案在几行内(如果可能的话)。特别要注意UIInterfaceOrientation
文件中的Info.plist
。