我的所有项目都允许以横向/纵向模式查看应用程序,但对于一个View Controller,我想禁用此功能并仅以纵向显示它。
我已尝试过shouldAutorotate
和supportedInterfaceOrientations
,但它不起作用。
答案 0 :(得分:5)
如果您想要视图控制器的不同方向,请在AppDelegate
中添加此方法 -
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
NSUInteger orientations = UIInterfaceOrientationMaskAllButUpsideDown;
if(self.window.rootViewController){
UIViewController *presentedViewController = [[(UINavigationController *)self.window.rootViewController viewControllers] lastObject];
orientations = [presentedViewController supportedInterfaceOrientations];
}
return orientations;
}
并在您的ViewController中 -
-(BOOL)shouldAutorotate{
return YES;
}
-(NSUInteger)supportedInterfaceOrientations{
return (UIInterfaceOrientationMaskAll);//Change this according to your need
}
希望这会有所帮助。
答案 1 :(得分:0)
转到您的项目 - >一般 - >设备方向,只选择常规设置中的纵向。
答案 2 :(得分:0)
你有
UINavigationController -- UIViewController1
-- UIViewController2
您必须继承UINavigationController并实施shouldAutorotate
和supportedInterfaceOrientations
。在UIViewController1,2允许旋转你想要的任何方向。