颠倒呈现UIActivityViewController

时间:2013-11-28 11:11:59

标签: ios iphone objective-c rotation uiactivityviewcontroller

在模拟器和iPhone上,在iOS 6和iOS 7中,我注意到UIActivityViewController并没有颠倒过来。如果我从一般的viewController或从根目录中呈现它,那无关紧要。

这种行为搞砸了我的界面......

直到现在,我最好的尝试是防止在设备颠倒时显示UIActivityViewController并在显示UIActivityViewController时阻止旋转。无论如何,我找不到任何关于这个问题的参考。

预计会出现这种情况吗? 您是否知道避免此行为的更好方法,或者更好的方法来防止我的界面损坏?

1 个答案:

答案 0 :(得分:1)

可以进行UIActivityViewController的所有旋转,因为它是UIViewController的子类,具有旋转方法。

1)在 UIActivityViewController.m 文件中添加方法:

- (BOOL)shouldAutorotate
{
    return YES;
}

AND

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskAll;
} 

2)在您的info.plist中检查您的应用程序是否支持方向,您想要。

在iOS 6及更高版本中,您的应用程序支持应用程序的Info.plist文件中定义的界面方向。视图控制器可以覆盖supportedInterfaceOrientations方法以限制支持的方向列表。通常,系统仅在窗口的根视图控制器或呈现的视图控制器上调用此方法以填充整个屏幕;子视图控制器使用由父视图控制器为其提供的窗口部分,不再直接参与有关支持哪些旋转的决策。

应用程序的方向遮罩和视图控制器的方向遮罩的交点用于确定视图控制器可以旋转到哪个方向。**