我有以下场景:
我从 appDelegate 做:
firstViewController = [[FirstViewController alloc] initWithNibName"FirstViewController" bundle:nil];
UINavigationController *firstNavController = [[UINavigationController alloc]initWithRootViewController:firstViewController];
firstViewController - 只需要在纵向模式下
为了做到这一点,我做了:
- (BOOL)shouldAutorotateToInterfaceOrientationUIInterfaceOrientation)interfaceOrientation{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
- (BOOL)shouldAutorotate
{
return NO;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
从 firstViewController 我正在插入另一个 View Controller ,它需要同时具有纵向和横向功能。
secondViewController 按预期运行 - 在纵向和横向模式下
我也遇到了在横向模式下显示的 firstViewController 的问题,虽然我已将其限制为纵向模式。我做错了什么?
Best Answer-推荐答案 strong>
在您的项目中使用以下方法添加 UINavigationController 类别
#import "UINavigationController+MyNavigation.h"
@implementation UINavigationController (MyNavigation)
-(BOOL)shouldAutorotate
{
return YES;
}
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown;
}
这解决了我的问题。
关于ios纵向和横向模式,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/22017786/
|