如何强制UIInterfaceOrientation?

时间:2012-01-04 08:57:34

标签: ios uiinterfaceorientation

我正在编写应用程序并遇到两个问题。我一直在网上搜索没有成功,并想知道这里是否有人可以提供帮助。

  1. 当应用程序启动时,我希望它默认为横向模式并检测它是否在UIInterfaceOrientationLandscapeLeft或UIInterfaceOrientationLandscapeRight中。我在.xib文件中以横向模式创建了UI。但是,当我检查self.interfaceOrientation时,它总是会返回UIInterfaceOrientationLandscapeLeft,无论主页按钮是在iPad模拟器的左侧还是右侧。

  2. 当用户在两个横向方向之间旋转iPad时,我希望视图发生变化。为了举例说明,如果是UIInterfaceOrientationLandscapeLeft,我想在屏幕左侧写1,在屏幕右侧写2。在UIInterfaceOrientationLandscapeRight中,在屏幕左侧写入2,在屏幕右侧写入1。当用户旋转设备时,iOS中的哪种方法可以告诉我?

  3. 非常感谢。

1 个答案:

答案 0 :(得分:0)

  1. 你在哪里检查?如果您在applicationDidFinishLaunching或视图控制器的viewDidLoad中执行此操作,则可能尚未正确设置界面方向。等到viewWillAppearviewDidAppear进行检查。

  2. 在视图控制器中查看shouldAutorotateToInterfaceOrientation。您需要将YES返回到支持的方向,因此在您的情况下,如果YES是横向的,则需要返回interfaceOrientation(顺便说一下,有一个辅助功能可以检查横向与纵向)。另请查看didRotateFromInterfaceOrientation,告诉您用户何时轮换。