我正在尝试让我的应用程序在设备本身旋转时旋转界面,但我无法正确使用它。 我在plist info文件中添加了支持的接口,并为shouldRotateToInterfaceOrientation返回yes。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { if (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight) { return YES; } else { return NO; } }
这是如何实施轮换的? 请帮忙!
答案 0 :(得分:1)
也许尝试编辑info.plist并在那里添加您支持的方向?
选择您的项目 - >选择目标 - >信息 - >支持的界面方向,并单击加号4次以支持这些方向:
Item 0 Landscape (left home button)
Item 1 Landscape (right home button)
Item 2 Portrait (top home button)
Item 3 Portrait (bottom home button)
希望它有所帮助!
答案 1 :(得分:0)
确保已将shouldRotateToInterfaceOrientation
添加到要支持不同方向的视图控制器。它不会进入app委托。
答案 2 :(得分:0)
如果你使用的是标准的UI元素,那么支持方向是直截了当的,所以假设是这样的话,你就是在正确的轨道上。
如果您正在使用UITabController,则所有视图必须支持相同的方向,否则默认为最小值(例如Portrait),我相信。
此外,如果您在视图中使用NIB,请确保在Interface Builder中配置视图时选中了“自动调整子视图”。
答案 3 :(得分:0)
如果您使用的是UITabBarController
,那么您需要将其称为子视图“shouldAutoratateToInterfaceOrientation
。
假设您有两个标签,请尝试将以下两行添加到使用shouldAutorotateToInterfaceOrientation
的类中的方法UITabViewController
。
[[tabBarController.viewControllers objectAtIndex:0] shouldAutorotateToInterfaceOrientation:interfaceOrientation];
[[tabBarController.viewControllers objectAtIndex:1] shouldAutorotateToInterfaceOrientation:interfaceOrientation];
当然“tabBarController”必须通过IB链接到XIB文件中的UITabBarController
。
谢谢,