iiview甲板控制器更换框架而不改变呈现模态视图的界面方向

时间:2014-01-23 11:36:43

标签: iphone ios7 modalviewcontroller viewdeck iiviewdeckcontroller

我正在使用IIViewDeckController并遇到如下非常奇怪的问题?:

我的ViewControllerIIViewDeckController)处于横向模式,然后我以模态方式呈现新的视图控制器。现在,模态视图控制器不支持横向模式,因此仅以纵向模式显示 截至目前,一切都很顺利。

但是当我尝试关闭这个模态呈现的控制器时,IIViewDeckController's视图的帧变为(320,568)(我认为这个IIViewDeckController已经旋转到纵向模式但我不确定)。所以我检查了显示“4”(即self.interfaceOrientation)的UIInterfaceOrientationLandscapeLeft,这应该是实际情况。

但是这两件事让我感到困惑,因为框架表示肖像模式和属性显示不同的东西。现在因为这个框架在不改变interfaceOrientation的情况下进行了更改,导致视图中对象框架的计算错误。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,我通过在AppDelegate类中对IIViewDeckController进行分类来解决它。

以下是需要分类的一种方法: -

@interface IIViewDeckController (categoryForOrientation)
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation;
@end

@implementation IIViewDeckController (categoryForOrientation)

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{
    return [self interfaceOrientation];
}