两个肖像UIViewControllers之间的景观瞄准

时间:2015-09-04 03:56:39

标签: ios objective-c uistoryboardsegue uiinterfaceorientation

我只允许通过以下代码在iPhone上查看UIViewControllers的设备方向图像:

- (BOOL)shouldAutorotate
{
    NSString *device = [UIDevice currentDevice].model;
    return [device rangeOfString:@"iPhone"].location != NSNotFound ? NO : YES;
}

这很好用 - 当我在查看ViewController A的同时旋转我的iPhone时,视图不会旋转。同样,当我在查看ViewController B时旋转我的iPhone时,视图不会旋转。但是,当我在查看ViewController A的同时旋转我的iPhone时,点击一个按模式显示ViewController B的按钮,show segue动画(Flip Horizo​​ntal)是横向的,ViewController B出现在横向中。

如何强制segue成为肖像而不是旋转ViewController B?

1 个答案:

答案 0 :(得分:0)

在我的测试中,我发现shouldAutorotate只是防止设备旋转所必须做的事情的一部分。 shouldAutorotate告诉系统,只要有人将设备旋转到不同的允许方向,它是否应该旋转所有视图。

我的建议是防止除Landscape之外的更多方向(允许LandscapeLeft和LandscapeRight)。我的意思是你应该覆盖两个ViewControllers中的supportedInterfaceOrientations,并告诉应用程序它应该只允许横向方向而不是默认方向(允许所有方向倒置)。