我想我几乎每个帖子都关于这个话题。所以,在你阅读之前,不要杀死这个问题。这个问题适用于iOS 7上的XCode 5
我有一个支持横向和纵向模式的应用。在我的项目中,部署信息将检查所有方向。
当应用启动时,我会显示
当用户点击按钮时,它会将他们带到
我遇到的问题是,当应用程序启动并且我在纵向模式下持有iphone时会显示此信息。
如果我以横向模式切换iphone,则会显示此信息。
如何强制我的v1ViewController始终显示横向模式?
这是我现在的代码。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight)
{
return YES;
}
else
{
return NO;
}
}
但是如果我添加它,那么视图总会像我显示的第一张图片一样打开,旋转也没有效果。
- (BOOL)shouldAutorotate
{
UIInterfaceOrientation interfaceOrientation = [[UIApplication sharedApplication] statusBarOrientation];
NSLog(@"interfaceOrientation: %d ...", interfaceOrientation);
if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft)
{
return YES;
}
else if (interfaceOrientation == UIInterfaceOrientationLandscapeRight)
{
return YES;
}
else
{
return NO;
}
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationLandscapeLeft;
}
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationLandscapeLeft | UIInterfaceOrientationLandscapeRight;
}
答案 0 :(得分:4)
对于任何对我如何工作感兴趣的人,这就是我所做的。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscape;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationLandscapeLeft;
}