仅将一个视图旋转到横向

Posted

技术标签:

【中文标题】仅将一个视图旋转到横向【英文标题】:Rotate just one view to Landscape 【发布时间】:2014-05-05 20:19:02 【问题描述】:

我正在使用 MasterDetailView 开发 iPAD 应用程序。从我的 tableView 中,我在 detailViewController 上推送另一个 ViewController。我希望这另一个 ViewController 以横向模式显示。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

    [_detailViewController.navigationController pushViewController:[self.storyboard instantiateViewControllerWithIdentifier:@"ABCViewController"]  animated:YES];

我希望这个 ABCViewController 只显示在横向视图中。我所有的其他观点都支持这两种方向。任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

插入这个新的 viewController:

- (BOOL)shouldAutorotate

    return YES;


- (NSUInteger)supportedInterfaceOrientations

    //Choose your available orientation, you can also support more tipe using the symbol |
    //e.g. return (UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight)
    return (UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight);

正如我已经在这里写的:

Disabling rotation for current screen?

【讨论】:

以上是关于仅将一个视图旋转到横向的主要内容,如果未能解决你的问题,请参考以下文章

iOS:仅将仿射变换应用于子视图

iPhone:如何防止视图旋转到横向视图?

UIWindow 的根视图控制器在应用启动时不会旋转到横向

从纵向模式旋转到横向模式时不调整子视图

iOS8:当手机旋转到横向时如何显示不同的视图控制器?

iPad:仅将 UIView 方向锁定为横向模式