防止自动转换为一个视图控制器ios7?

我的应用程序可以自动转换,但是我需要一个视图才能以纵向模式显示,并且不知道如何实现这一点.
我试过这个(除其他事项),但有关的观点仍然旋转:
-(BOOL)shouldAutorotate
{            
    return NO;
}

 - (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}

解决方法

解决方案解释了如何控制各个视图控制器的方向,只要它们由导航控制器管理.

在Xcode 5中,创建一个类型为“Objective-C类别”的新文件,将其设置为“类别”到“旋转”,然后选择“UINavigationController”作为“类别”.

一个新的文件将出现在项目中,具有以下名称
UINavigationController rotation.h
UINavigationController rotation.m

在.m文件中,写下面的代码

- (BOOL) shouldAutorotate
{
    return [[self topViewController] shouldAutorotate];
}

- (NSUInteger) supportedInterfaceOrientations
{
    return [[self topViewController] supportedInterfaceOrientations];
}

这样,导航控制器将使当前顶视图控制器确定方向策略.

然后,在由导航控制器管理的每个特定视图控制器中,可以覆盖两个方向相关的方法.

例如,如果特定的视图控制器只能以纵向方向出现:

- (BOOL) shouldAutorotate
{            
    return NO;
}

 - (NSUInteger) supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}

确保所需的方向是项目部署信息中设置的方向之一.希望这是足够详细的,可以帮助.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...