0

我已经为此工作了好几天,但无法破解它。事件的顺序是:

  • 在横向(假设正确)中,用户点击“编辑”按钮。
  • 一个只有纵向的模态界面滑入。它的 shouldAutorotateToInterfaceOrientation 只为纵向返回 yes。
  • 设备确信它处于纵向模式。
  • 问题 1:如果用户在没有实际旋转到纵向模式的情况下关闭界面,则设备报告该界面处于横向右侧(确实如此),但界面布局为纵向。
  • 问题2:如果用户旋转到纵向,界面不会重新布局。
  • 问题 3:(这很奇怪)旋转回到按下编辑按钮的相同横向(右)会导致状态栏返回横向,但没有其他任何变化。我所有的东西都保持纵向模式。旋转到另一个(左)横向效果很好。

我需要一些方法来强制布局引擎为设备实际所处的方向重做布局。

UIView - layoutSubviews, - setNeedsLayout 和 -layoutIfNeeded 没有任何作用。

谢谢你的帮助。

4

1 回答 1

0

执行 iBooks (2.x) 的操作并强制界面方向为纵向 + (void)attemptRotationToDeviceOrientation。这样,您就可以在第一步中将问题扼杀在萌芽状态。

于 2012-04-10T01:29:27.820 回答