iPhone力旋转

iPhone力旋转,iphone,Iphone,我已经读了很多关于轮换的书,但没有找到解决问题的方法。下面是: 我有一个纵向应用程序,在我的选项卡中有一个选项卡栏和隐藏的导航控制器。在应用程序中的某个点上,下一个视图必须是横向视图 XIB布局是在横向环境中完成的,因此我希望在不使用任何翻译或像素移动代码的情况下使用XIB。(我不认为这是必需的)我试着只推视图(仍然是纵向的),使用各种方法移动视图(似乎没有正确地排列东西) 有没有一种方法可以告诉视图,在打开之前,它已经为景观进行了布局 提前谢谢 找到它,此代码在viewdidload中执行以下

我已经读了很多关于轮换的书,但没有找到解决问题的方法。下面是:

我有一个纵向应用程序,在我的选项卡中有一个选项卡栏和隐藏的导航控制器。在应用程序中的某个点上,下一个视图必须是横向视图

XIB布局是在横向环境中完成的,因此我希望在不使用任何翻译或像素移动代码的情况下使用XIB。(我不认为这是必需的)我试着只推视图(仍然是纵向的),使用各种方法移动视图(似乎没有正确地排列东西)

有没有一种方法可以告诉视图,在打开之前,它已经为景观进行了布局


提前谢谢

找到它,此代码在viewdidload中执行以下操作:

self.view.transform = CGAffineTransformIdentity;
self.view.transform = CGAffineTransformMakeRotation(degreesToRadian(90));
self.view.bounds = CGRectMake(0.0, 0.0, 460.0, 320.0);
还有一件奇怪的事。无论我如何将导航栏设置为隐藏,它都不会旋转,并保持在视图的左侧

[[self navigationController] setNavigationBarHidden:YES animated:NO];

有人发现这种行为并解决了吗?

我肯定你不能“强制”旋转。系统决定何时改变设备的方向;因此,“方向”属性本质上是只读的。很久以前,当我想确保特定视图始终以一个方向显示时,我研究了这个问题

因此,大多数应用程序允许其所有视图和视图控制器在应用程序支持的任何方向上工作。我发现,试图限制某些视图和视图控制器的行为最终会带来更多麻烦,并且在视图和视图控制器之间转换时可能会导致问题

您发布的代码将适用于您的视图。实际上,你根本没有改变方向;您的视图的行为就像是通过以旋转的方式绘制而旋转一样。我不确定你是否可以对导航栏做同样的事情,但值得一试。如果您能够控制导航栏的视图属性(它也是一个UIView),那么应用用于自定义视图的相同模式应该可以工作

大多数希望视图仅在横向视图中的应用程序最终会强制其整个应用程序位于横向视图中。例如,飞行控制只支持一个方向。因此,绘图代码非常简单;无论方向如何,只需绘制视图并将其旋转到其支持的一个方向(横向向左或向右)


你的应用程序的设计不会那么容易。。。听起来你不是在设计一个全屏应用程序。您将不得不担心导航栏和状态栏是否正确绘制。

很好,我没有从这个角度考虑它。找到这个问题的答案[here][1][1]:更具体地说,看看这个问题的答案:-至少在iOS 5.1之前(包括iOS 5.1),推和弹出一个虚拟视图控制器似乎工作得很好。