在一个viewController和另一个景观中的肖像

时间:2014-04-01 20:40:21

标签: ios iphone objective-c

我有以下ViewControllers:

InformationViewController和cardViewController。

如何确保informationViewController处于纵向模式且无法旋转。

然后cardViewController应该处于横向模式并且无法旋转。

我如何在每个viewController中实现它。我现在已经激活了protrait,在一般情况下左右两侧的景观

3 个答案:

答案 0 :(得分:0)

在informationViewController中:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

在cardViewController中:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationLandscape);
}

答案 1 :(得分:0)

看看我对这个问题的回答: Force controllers to Change their orientation in Either Portrait or Landscape

(但不要使用弃用的方法。有更新的方法可用。)

很容易将视图控制器限制在某些方向。但请参阅另一个答案,了解如何强制设备实际旋转。 没有这个技巧:如果在设备处于横向状态时,仅纵向视图控制器变为可见,则无论您如何限制其支持的方向,它都将以横向显示。

答案 2 :(得分:0)

在信息视图控制器

- (BOOL)shouldAutorotate

{

    return YES;
}


- (NSUInteger)supportedInterfaceOrientations

{

    return UIInterfaceOrientationMaskPortrait;
}

在卡片视图控制器中

- (BOOL)shouldAutorotate

{

    return YES;
}


- (NSUInteger)supportedInterfaceOrientations

{

    return UIInterfaceOrientationMaskLandscape;
}

注意:请确保在项目常规设置中勾选设备方向的纵向和横向模式(部署信息)