使用iOS 4.x清理管理设备旋转的方法

时间:2011-12-06 12:48:25

标签: iphone ios rotation

我总是对在iOS应用程序上管理轮换感到困惑,必须有某种有效的方法来做到这一点,但显然我还没有听说过它。我的界面太复杂,无法在InterfaceBuilder中进行参数化,所以我尝试了所有这些不同的东西:

  • 构建两个接口,一个用于纵向,一个用于横向,但我发现设计一些方法使一个视图控制器跟上另一个非常令人讨厌,所以当设备旋转时,第二个视图控制器知道在哪里拿起故事。
  • willRotateToInterfaceOrientation:内手动更改我的视图'框架,但在这种情况下,我的整个界面变得非常随机地变得混乱(虽然有时候它可以正常工作......)

您认为最佳做法是什么?我哪里可能出错了?我错过了什么? THX!

2 个答案:

答案 0 :(得分:2)

我总是选择第二种选择而且它永远不会让我失望。如果你做得对,你将总是得到预期的结果。我认为你的应用程序正在发生这种情况(并且你称之为血腥混乱),因为你的UIView's可能仍会在Interface Builder上有一些自动调整大小的定义。除了删除所有自动缩放外,我还取消选中父UIViews的“自动调整子视图”复选标记。

答案 1 :(得分:0)

只是扮演魔鬼提倡JackyBoy的评论,我认为这取决于你的观点的复杂性。在很多情况下,我发现只使用横向UI更简单。对我来说,好处是易于可视化。你知道(或多或少)你会得到什么,没有那么多试验和错误,并且很容易传递所需的任何数据(我发现更容易处理以编程方式移动UI组件)。那就是说,我不知道是否真的有最好的做法。我认为这是对你最好的事情。虽然如果我不得不猜测Apple对最佳实践的定义,那么可能会使用这两种观点。 哦,我还应该补充一点,你可以利用'弹簧'等对于笔尖中的组件来说有时足以处理旋转