4

我是ios新手。

我只想viewControllerlandscape模式中显示一个,而其他全部是纵向的。

所以请帮助我并告诉我如何landscape在应用程序模式下仅更改一个视图。

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

4

3 回答 3

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;
}
于 2012-12-05T14:11:46.293 回答
2

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

-(NSUInteger)supportedInterfaceOrientations
{

    return UIInterfaceOrientationMaskLandscape;
}
于 2012-12-05T12:59:33.590 回答
0

Are you using a UINavigationController?

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscape;
}

-(BOOL) shouldAutorotate {
    return YES;
}
于 2012-12-05T13:10:43.947 回答