【问题标题】:Change orientation without rotating device无需旋转设备即可更改方向
【发布时间】:2012-06-01 08:15:16
【问题描述】:

我有一个主要是横向的应用程序......我有 2 个纵向视图,当它改变它的方向时它们会出现。到目前为止一切顺利。

但在其中一个视图上,我有一个按钮,该按钮必须在不旋转 ipad 的情况下以横向推动视图。

我怎样才能做到这一点?

提前谢谢你。

【问题讨论】:

  • 在按钮动作事件中,尝试:viewWantedChange.transform = CGAffineTransformMakeRotation(M_PI / 2);
  • 听起来你试图实现用户界面体验对我来说失败了。以纵向(当前用户的设备方向)呈现它,并允许用户根据需要旋转到横向。我认为强迫用户不断旋转设备会给他们带来非常糟糕的体验。
  • 这不是我的决定......我必须让它发挥作用

标签: objective-c ios ipad orientation


【解决方案1】:

在界面生成器中将您想要的横向视图设置为横向(它可能是继承的),并将应该自动旋转方法设置为仅返回 true 为横向。

【讨论】:

  • 做到了...而且它在风景中...有点。但它被缩减并以纵向显示(下方为 256 像素,屏幕外为 256 像素)
  • 因为现在您必须专门调整该视图以使其在横向模式下呈现。您可能想应用苹果自动旋转方法,以便自动调整所有内容,对吧?
  • 重新调整是最好的方法,因为它将始终以横向显示(例如将所有内容放在界面构建器中您想要的位置)。另一种选择是对视图应用变换以使其中包含的所有内容旋转,但我不推荐它。另外我认为您可以在视图控制器上调用苹果旋转方法,但我认为那是未记录的 api。
【解决方案2】:

您可以随时通过此方法任意设置设备方向。

[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationLandscapeRight];

这会让您担心此方法已被弃用,但它仍然可以正常工作,iOS 5.1 更新,因此在使用此方法时无需警告。

希望对您有所帮助。

【讨论】:

  • 不幸的是,我在雪豹上,我无法为 5.1 构建
猜你喜欢
  • 1970-01-01
  • 2020-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多