我只允许通过以下代码在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 Horizontal)是横向的,ViewController B出现在横向中。
如何强制segue成为肖像而不是旋转ViewController B?
答案 0 :(得分:0)
在我的测试中,我发现shouldAutorotate
只是防止设备旋转所必须做的事情的一部分。 shouldAutorotate
告诉系统,只要有人将设备旋转到不同的允许方向,它是否应该旋转所有视图。
我的建议是防止除Landscape之外的更多方向(允许LandscapeLeft和LandscapeRight)。我的意思是你应该覆盖两个ViewControllers中的supportedInterfaceOrientations
,并告诉应用程序它应该只允许横向方向而不是默认方向(允许所有方向倒置)。