我正在为iOS 5开发一个必须以横向模式运行的应用程序。我的问题是我最初无法翻转它。
我尝试将“初始界面方向”设置为“横向(右侧主页按钮)” 并将以下方法添加到我的视图控制器:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
我可以围绕它应该如何工作。 (我找到了代码here)
我也想知道如何使用Xcode 4.2项目设置中提供的“支持的设备方向”,它似乎没有做任何事情。
我一直在浏览网站,但未能找到解决我问题的例子。
谢谢。
答案 0 :(得分:16)
在应用程序的Info.plist文件中,添加UIInterfaceOrientation
键并将其值设置为
景观模式。对于景观
方向,你可以设置值
这个关键的
UIInterfaceOrientationLandscapeLeft
要么
UIInterfaceOrientationLandscapeRight
。
以横向模式布置视图,并确保正确设置其自动调整大小选项。
覆盖视图控制器的shouldAutorotateToInterfaceOrientation:
方法,仅返回YES
理想的景观定位和NO
用于纵向方向。
答案 1 :(得分:11)
在appDelegate中使用以下内容
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight];
还在
中设置所需的方向- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
//Here are some iOS6 apis, used to handle orientations.
- (BOOL)shouldAutorotate NS_AVAILABLE_IOS(6_0)
- (NSUInteger)supportedInterfaceOrientations - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
答案 2 :(得分:1)
当您在XCode中单击项目名称并在TARGETS下选择目标时,在“摘要”选项卡下,可以直观地显示支持的设备方向设置。这就是我设法做到的。
答案 3 :(得分:0)
我认为如果你在项目plist支持的接口方向上它将工作。只需添加一个名为“支持的界面方向”的新行,并使其成为数组类型,并为每个想要的景观视图添加2个项目。没有测试这只是一个快速猜测
答案 4 :(得分:-2)
试试这个会对你有帮助,你可以在viewdidload中编写这段代码。
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight];