仅横向应用的最佳做法?

时间:2012-06-07 01:58:25

标签: iphone objective-c ios

我是一个新的iOS编程,我正在开发一款只需要在横向运行的简单iPhone游戏。我......

  1. 在目标设置中设置支持的方向
  2. 添加了要求。 plist项目(初始界面方向)
  3. 重写了shouldAutorotateToInterfaceOrientation仅为横向模式返回YES
  4. ..并且应用程序“看起来”正确,但有一些奇怪的事情正在发生。

    问题1 - 我正在尝试手动定位我的观点而不是依靠自动布局。我在NIB中有一个UIView,我正在加载它需要从屏幕的右边缘定位150px。我必须得到UIViewController的视图高度(而不是宽度)来正确定位它 - 就像它在代码中的这一点没有旋转到横向一样。

    问题2 - 实现UINavigationController从标题屏幕转到游戏交互。当我将交互UIViewController推送到堆栈时,它会从右侧滑入,就像它应该的那样。当我通过弹出交互回到标题时,它会向上滑动到标题。好像它正在旋转回肖像?

    我认为我缺少一些非常基本的东西,但我在我的应用程序代码中找不到它。我已经查看了景观应用程序的列表,但是他们没有提到上面的列表。

    是否有任何其他的事情/设置/方法要覆盖我应该注意的事项?

2 个答案:

答案 0 :(得分:0)

问题2:

不要使用很多UIViewController。使用一个视图控制器。创建一个主UIViewController,并为其他UIViewController创建:

[mainviewcontrl presentModalViewcontroller: child_viewcontrl animated: YES];

要删除子视图控制器,请使用

[child_viewcontrl dismissModalViewControllerAnimated: YES];

答案 1 :(得分:0)

您还需要在其他viewControllers中设置shouldAutorotateToInterfaceOrientation。特别是UINavigationController中显示的那些。