我正在开发一个基于厦门国际银行,仅景观应用。 该应用程序在启动景观正确。 然而,在我的主视图控制器的观点呈现在肖像。 也就是说,旋转90度,使图像出现裁剪和不占用整个屏幕。 如果我用我的界面来呈现一个模式视图控制器,然后返回到主视图控制器,这个问题本身修正(视图呈现在横向)。 的Xcode 4.2下没有出现此问题。 它发生在升级到4.3的Xcode后,和所做的唯一的代码更改时我升级项目的设置会自动通过Xcode的实现。
基于其他职位的建议,我验证了我的Info.plist设置支持的界面取向和初始界面定位。 我推翻了我的每个视图控制器的shouldAutorotateToInterfaceOrientation方法仅适用于横向放置返回YES。 另外,我关掉自动调整大小的看法,因为我从来没有想要的视图的大小/方向改变。
基于在此链接[1]的思想,我怀疑问题是,视图不接收呼叫在发射来改变取向,可能是由于在除去的MainWindow.xib概念,它似乎是由以下取代的xcode的插入在AppDelegate.m代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
}
我修改该方法,以产生从中我的ViewController类呈现的通用根视图控制器,如示于以下的代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
ViewController* myViewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
self.viewController = [[UIViewController alloc] init];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
[self.viewController presentModalViewController:myViewController animated:NO];
return YES;
}
瞧! 这解决了我的问题。 但是,对我来说,感觉就像在基础层面的变化,我不想做在我开发了这一点。 我打算将我的根视图控制器现在是一个模式的看法。 有没有人有另一种解决这个问题?
提前致谢!