从景观ViewController返回后,支持所有方向的iOS ViewController将更改为横向

时间:2017-06-14 07:49:21

标签: ios objective-c orientation

我有一个支持所有设备方向的主ViewController,以及一个仅支持横向的视频播放器ViewController。

当设备的方向解锁时,我从视频返回主ViewController,它仍然根据我的设备的方向自动旋转。这是理想的行为。

然而,当设备的方向被锁定,并且我以纵向模式主ViewController开始时,我从风景视频中恢复,现在主ViewController被锁定为横向模式。这仅在iOS 9 +上发生。

我不确定它是否相关,但主ViewController继承了Cordova的CDVViewController。以下是VideoPlayerViewController中与方向相关的代码:

- (BOOL)shouldAutorotate{
    return YES;
}

- (NSInteger)supportedInterfaceOrientations{
    return UIInterfaceOrientationMaskLandscape;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{
    return UIInterfaceOrientationLandscapeLeft;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
            interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}

我很感激有关如何解决这个问题的任何想法。谢谢!

1 个答案:

答案 0 :(得分:0)

我认为改变方向必须是print (df1.join(pd.crosstab(df2['id'], df2['item']).astype(bool).astype(int), on='id')) id param1 param2 X Y Z 0 1 foo fo 1 1 1 1 2 bar ba 1 0 1 2 3 fu bar 0 1 0 的错误。

如果您使用带有UIKit元素的常规UIViewController,并且设备的方向已锁定,则设备方向锁定为ON时,它将永远不会从纵向切换为横向。

出于测试目的,尝试用常规UIViewController替换CDVViewController,只需添加一个按钮来显示CDVViewController,您就会发现它将按预期保留在Portrait中。