我正在编写应用程序并遇到两个问题。我一直在网上搜索没有成功,并想知道这里是否有人可以提供帮助。
当应用程序启动时,我希望它默认为横向模式并检测它是否在UIInterfaceOrientationLandscapeLeft或UIInterfaceOrientationLandscapeRight中。我在.xib文件中以横向模式创建了UI。但是,当我检查self.interfaceOrientation时,它总是会返回UIInterfaceOrientationLandscapeLeft,无论主页按钮是在iPad模拟器的左侧还是右侧。
当用户在两个横向方向之间旋转iPad时,我希望视图发生变化。为了举例说明,如果是UIInterfaceOrientationLandscapeLeft,我想在屏幕左侧写1,在屏幕右侧写2。在UIInterfaceOrientationLandscapeRight中,在屏幕左侧写入2,在屏幕右侧写入1。当用户旋转设备时,iOS中的哪种方法可以告诉我?
非常感谢。
乔
答案 0 :(得分:0)
你在哪里检查?如果您在applicationDidFinishLaunching
或视图控制器的viewDidLoad
中执行此操作,则可能尚未正确设置界面方向。等到viewWillAppear
或viewDidAppear
进行检查。
在视图控制器中查看shouldAutorotateToInterfaceOrientation
。您需要将YES
返回到支持的方向,因此在您的情况下,如果YES
是横向的,则需要返回interfaceOrientation
(顺便说一下,有一个辅助功能可以检查横向与纵向)。另请查看didRotateFromInterfaceOrientation
,告诉您用户何时轮换。