我有一个使用Xcode为iPhone开发的应用程序,它以纵向模式显示我的视图控制器并激活旋转。
我的表格视图中有一个单元格以模态模式触发新的视图控制器(iPhoneSignVC),我的问题是......
有没有办法从一开始就确定我的新模态视图控制器的方向?我的意思是......我希望我的新视图控制器处于横向模式,并且在该特定viewController上没有激活屏幕旋转功能
到目前为止,我所做的是创建一个覆盖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
我试了这个没有成功......
提前感谢您的支持人员
答案 0 :(得分:1)
根据底层操作系统的不同,需要考虑多种因素。 结帐very comprehensive question和this solution。
答案 1 :(得分:1)
我想这就是你所需要的模态视图所需的全部内容:
#import "UINavigationController.h"
#import "iPhoneSignVC.h"
@implementation UINavigationController (overrides)
- (NSUInteger)supportedInterfaceOrientations {
if ([self.topViewController isKindOfClass:[iPhoneSignVC class]])
return UIInterfaceOrientationMaskLandscape;
return UIInterfaceOrientationMaskAll;
}
@end