我有以下场景:
我从 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 的问题,虽然我已将其限制为纵向模式。我做错了什么?
在您的项目中使用以下方法添加 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/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |