0

我有 UINavigationController 和几个视图控制器。这是它们的列表:主 -> 专辑 -> 图像

现在在第一个和第二个(主要和专辑)中,我希望 UINavigationController 不会旋转(仅纵向),而在第三个(图像)中,它可以旋转。

我已经为 UINavigationController 创建了类别:

-(BOOL)shouldAutorotate {
    if ([self.topViewController isKindOfClass:[MWPhotoBrowser class]]) {
        return YES;
    }
    return NO;
}

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
    if ([self.topViewController isKindOfClass:[MWPhotoBrowser class]]) {
        return YES;
    }
    return NO;
}

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskAll;
}

现在我的问题是,当我推动图像视图控制器并旋转设备(视图控制器旋转)并按回此处(专辑)时,视图控制器旋转到并且无法旋转回纵向。

顺便说一句:我注意到它只发生在 iOS 6 和 iPhone 5 的设备上

4

1 回答 1

1

您是否尝试过包含以下方法但为您的视图控制器返回正确的值?

- (NSUInteger)supportedInterfaceOrientations {

return UIInterfaceOrientationMaskPortraitUpsideDown;

}

于 2013-01-28T11:43:53.290 回答