我有一个基于xcode 4.2的应用程序,它只支持纵向方向,它适用于除ios6之外的所有设备..在Ios 6设备中它显示两个方向..我只需要纵向...我正在使用导航控制器.. IN appdelegate ::
- (BOOL)shouldAutorotate
{
return ([[UIDevice currentDevice] orientation]==UIInterfaceOrientationPortrait);
}
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
return (UIInterfaceOrientationMaskPortrait);
}
在其他viewControllers ::
中- (BOOL)shouldAutorotate {
return YES;
}
- (void)viewDidLayoutSubviews
{
DisplayFunctionName;
NSLog(@"orientation: %d",self.interfaceOrientation);
}
- (NSUInteger)supportedInterfaceOrientations
{
if (UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)
{
return (UIInterfaceOrientationMaskAll);
}
else
{
return (UIInterfaceOrientationMaskPortrait);
}
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
DisplayFunctionName;
NSLog(@"orientation: %d",interfaceOrientation);
return (interfaceOrientation==UIInterfaceOrientationPortrait);
}
答案 0 :(得分:2)
在IOS6中,当您想要某些视图的纵向方向以及某些您想要横向方向时,处理方向很困难,但如果您只想为整个应用程序提供一个方向支持,则非常容易。简单转到支持文件,然后在您的应用中打开info.plist并删除除您想要的所有其他方向..以下是几个屏幕截图,可帮助您解决问题
删除所有其他方向后,您的info.plist将如下所示
我希望它适合你。谢谢
答案 1 :(得分:1)
iOS 6
<强> shouldAutorotateToInterfaceOrientation 强>: 已弃用并替换为
<强> shouldAutorotate 强>
答案 2 :(得分:0)
尝试使用这些,
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationPortrait;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationPortrait;
}
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
return UIInterfaceOrientationPortrait;
}