1

我有一个使用 Xcode 为 iPhone 开发的应用程序,它以纵向模式显示我的视图控制器并激活了旋转。

我的表格视图中有一个单元格在模态模式下触发一个新的视图控制器(iPhoneSignVC),我的问题是......

有没有办法从一开始就确定我的新模态视图控制器的方向?我的意思是...我希望我的新视图控制器处于横向模式并且没有在该特定视图控制器上激活屏幕旋转功能

到目前为止,我所做的是创建一个覆盖 UINavigation 控制器类的新类

#import "UINavigationController.h"
#import "iPhoneSignVC.h"

@implementation UINavigationController (overrides)

- (BOOL)shouldAutorotate
{
    id currentViewController = self.topViewController;

    if ([currentViewController isKindOfClass:[iPhoneSignVC class]])
        return NO;


    return YES;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    id currentViewController = self.topViewController;

    if ([currentViewController isKindOfClass:[iPhoneSignVC class]]){
        return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
    }

    return (interfaceOrientation == UIInterfaceOrientationMaskAll);
}


@end

我试过这个没有成功......

预先感谢您的支持

4

2 回答 2

1

我想这就是您的模态视图以您想要的方向打开所需的全部内容:

#import "UINavigationController.h"
#import "iPhoneSignVC.h"


@implementation UINavigationController (overrides)

- (NSUInteger)supportedInterfaceOrientations {

    if ([self.topViewController isKindOfClass:[iPhoneSignVC class]])
        return UIInterfaceOrientationMaskLandscape;

    return UIInterfaceOrientationMaskAll;
}
@end
于 2013-09-05T23:24:21.447 回答
1

根据底层操作系统,有多种考虑因素。检查这个非常全面的问题这个解决方案

于 2013-09-05T23:11:25.727 回答