首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >视图控制器: Ladnscape to Portrait

视图控制器: Ladnscape to Portrait
EN

Stack Overflow用户
提问于 2013-01-07 18:21:23
回答 2查看 61关注 0票数 0

我的应用程序中有一个视图控制器。让它的第一个视图控制器,我的第一个视图控制器在手机中以纵向模式显示,当用户在横向模式下旋转手机时,第一个视图控制器也在横向模式下旋转。

它工作正常,现在我在第一个视图控制器上有一个按钮,当我触摸按钮时,第二个视图控制器就会出现。我只想做的是,即使第一个视图控制器处于横向模式,第二个视图控制器也应该始终显示为纵向模式。有没有什么方法我必须重写才能获得这个功能?

EN

回答 2

Stack Overflow用户

发布于 2013-01-07 18:29:07

在导航控制器中,控制器的方向取决于导航控制器的根控制器的方向。

您有两种可能性:

  1. 使根控制器的shouldAutorotateToInterfaceOrientation:根据实际显示的控制器返回不同的值;
  2. 对视图控制器的视图使用变换,使其旋转。

我会尝试第一种方法,从一开始。看看this post,看看如何做到这一点(忽略UITabBarController的东西),或者试试这个(它只是将消息转发到导航层次结构中的顶部控制器):

代码语言:javascript
复制
 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {   
    return [self.navigationController.topController shouldAutorotateToInterfaceOrientation:interfaceOrientation];
 }

为了在iOS6上实现相同的结果,请尝试定义以下方法:

代码语言:javascript
复制
-(NSUInteger)supportedInterfaceOrientations {
  return [self.navigationController.topController supportedInterfaceOrientations];
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
  return [self.navigationController.topController  preferredInterfaceOrientationForPresentation];
}
票数 1
EN

Stack Overflow用户

发布于 2013-01-07 19:24:06

代码语言:javascript
复制
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
   // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

在第二个视图中,控制器保留这个。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14193916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档