我在我的应用程序中使用的UINavigationController,我的第一个控制器称为A,它是严格只portrite并且在我的A controller.Once一个按钮,我点击我创建实例,称为B另一个视图控制器的按钮。 创建BI实例后我呈现模态使用以下方法
[self presentViewController:BInstance animated:YES completion:^{
NSLog(@"completed");
}];
我的B控制可以能够将支持所有的方位,这是预期,直到ios5.1及更早版本。 现在我想利用Xcode4.5它是没有得到旋转我期待着解决,我发现了一些有关shouldAutorotateToInterfaceOrientation博客的问题iOS6的运行我的项目:方法得到了来自最新的iOS6的弃用。 我使用的替代也
-(BOOL)shouldAutorotate{
return YES;
}
-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskAll;
}
但仍然没有太多预期的结果。
问:是什么让我的B控制会为连我父仅适用于portrite所有方向工作。
在此先感谢您的所有建议/意见对这个很有用。
首先,在AppDelegate中,写这篇文章。 这是非常IMP
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
return (UIInterfaceOrientationMaskAll);
}
那么,对于UIViewControllers,其中只需要纵向模式,写这些功能
- (BOOL)shouldAutorotate
{
return YES;
}
- (NSUInteger)supportedInterfaceOrientations
{
return (UIInterfaceOrientationMaskPortrait);
}
对于UIViewControllers,需要景观也变化屏蔽所有。
- (NSUInteger)supportedInterfaceOrientations
{
return (UIInterfaceOrientationMaskAllButUpsideDown);
//OR return (UIInterfaceOrientationMaskAll);
}
现在,如果你想要做一些改变的时候方向的变化,然后使用此功能。
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
}