在不旋转的情况下直接观看人像

时间:2013-02-13 23:38:16

标签: iphone ios xcode rotation uiinterfaceorientation

目前我在所有观点中都有这个代码,我不想进入景观,除了一个以外:

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// You do not need this method if you are not supporting earlier iOS Versions
return [self.selectedViewController shouldAutorotateToInterfaceOrientation:interfaceOrientation];
}

-(NSUInteger)supportedInterfaceOrientations
{
if (self.selectedViewController)
    return [self.selectedViewController supportedInterfaceOrientations];

return UIInterfaceOrientationMaskPortrait;
}

-(BOOL)shouldAutorotate
{
return YES;
}

这是我的标签栏控制器中的代码:

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// You do not need this method if you are not supporting earlier iOS Versions
return [self.selectedViewController shouldAutorotateToInterfaceOrientation:interfaceOrientation];
}

-(NSUInteger)supportedInterfaceOrientations
{
if (self.selectedViewController)
    return [self.selectedViewController supportedInterfaceOrientations];

return UIInterfaceOrientationMaskPortrait;
}

-(BOOL)shouldAutorotate
{
return YES;
}

最后我想进入横向视图控制器中的代码(因为有一个视频):

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}

- (BOOL)shouldAutorotate
{
return YES;
}

- (NSInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAllButUpsideDown;
}

视图都像我想要的那样旋转,唯一的问题是当视频旋转的视图控制器旋转然后你点击另一个视图将保持景观,我想要发生的是这个视图旋转在没有用户将设备旋转成肖像的情况下直接进入肖像。有人知道我需要什么代码吗?

1 个答案:

答案 0 :(得分:0)

这可能是一个难以解决的优雅问题。强制方向可能违反人机接口规则规则或过去只需要调用私有API

我建议尝试一种过去对我有用的不同方法。当用户旋转显示视频的一个视图控制器允许旋转但此时移除用户可以导航的任何方式,然后在将设备旋转回肖像时返回这些导航控件。对我来说,它只是隐藏导航栏,直到他们回到肖像。我喜欢这个,因为用户非常清楚他们必须在移动之前将手机恢复为肖像,并且他们不会惊讶于在其他地方导航,这是另一个神奇的方向。