在横向模式下仅设置一个ViewController

时间:2012-12-05 12:27:41

标签: iphone objective-c uiviewcontroller ios6

我是ios的新人。

我想在viewController模式中仅显示一个landscape,其他所有人都是肖像。

所以请帮助我,告诉我如何才能在应用中以landscape模式更改一个视图。

我已经搜索过了,但没有找到任何特别的答案。

3 个答案:

答案 0 :(得分:4)

如果你正在使用导航控制器和控制器推动这个“面向风景”的视图控制器只处于纵向模式,那么你将不得不通过CGAffineTransformation手动旋转uiview。

- (void)viewDidLoad
{
    [super viewDidLoad];
    // If you require full screen then hide the navigation bar with following commented line.
    //[self.navigationController setNavigationBarHidden:YES animated:NO];

    // Rotates the view.

    CGAffineTransform transform = CGAffineTransformMakeRotation(-M_PI/2);
    self.view.transform = transform;

    // Repositions and resizes the view.
    // If you need NavigationBar on top then set height appropriately 
    CGRect contentRect = CGRectMake(0, 0, 480, 320);
    self.view.bounds = contentRect;
}

答案 1 :(得分:2)

对于iOS6,请将此方法添加到ViewController

-(NSUInteger)supportedInterfaceOrientations
{

    return UIInterfaceOrientationMaskLandscape;
}

答案 2 :(得分:0)

您使用的是UINavigationController吗?

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscape;
}

-(BOOL) shouldAutorotate {
    return YES;
}