无法从纵向视图跳转到横向视图

时间:2013-05-21 08:53:28

标签: objective-c cocoa-touch uiview rotation

的所有人。我有两个观点。第一个视图仅支持横向,第二个视图支持所有方向。但是,当第二个视图是纵向并且按下一个按钮时,它会跳转到第一个肖像,这意味着是风景。

我在第一个ViewController中添加了以下两个方法。

- (BOOL)shouldAutorotate
{
        return YES;
}

-(NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight;
}

我想知道是否有人可以帮助我,因为这个问题困扰了我很长时间。 谢谢你前进!!

2 个答案:

答案 0 :(得分:0)

我从未在应用程序中对此进行过测试,但尝试使用:

[[UIDevice currentDevice] setOrientation:UIDeviceOrientationPortrait];

答案 1 :(得分:0)

我不确定我是否正确。我得到的是你有2个viewControllers,第一个viewController只支持Landscape,而第二个viewController支持所有Orientation。但是你在维护这个方面遇到了问题。检查你是否在你的代码中实现了这个,如果你仍然发现任何问题,请回复,如果它解决了,请接受答案并投票;): -

1)你的第一个viewController应该有: - //适用于iOS 6

-(BOOL)shouldAutorotate{
    return YES;
}

-(NSUInteger)supportedInterfaceOrientations{
    return UIInterfaceOrientationMaskLandscape;
}

for< iOS 6

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationLandscapeRight || interfaceOrientation == UIInterfaceOrientationLandscapeLeft);

}

2)你的第二个viewController应该有: - 对于iOS 6

-(BOOL)shouldAutorotate{
    return YES;
}

-(NSUInteger)supportedInterfaceOrientations{
    return UIInterfaceOrientationMaskPortrait;
}

for< iOS6的

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