iphone – 在运行时设置UIInterfaceOrientation

我在故事板中有5个视图.我希望每个视图方向都会不同,例如一个视图将是UIInterfaceOrientationLandscapeRight,另一个视图将是UIInterfaceOrientationLandscapeLeft或UIInterfaceOrientationPortrait或UIInterfaceOrientationPortraitUpsideDown.那么如何设置这种视图方向是不同的.

我用过
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationLandscapeRight];
 但它显示警告’UIDevice可能无法响应setOrientation’.根据我使用的许多stackoverflow编写器

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation { 
    //return UIInterfaceOrientationLandscapeLeft;
    return (toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown); 
}

以上代码,但它在我的项目中不起作用.那么屏幕方向的正确程序是什么?
提前致谢.

最佳答案 试试这个

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft animated:YES];

您不能设置UIDeviceOrientation,因为它是物理参数.如果您将设备保持在纵向 – 您如何以编程方式将其设置为横向?). UIDeviceOrientation的意思是 – 设备方向,而不是接口.这个答案描述了方向之间的差异:
https://stackoverflow.com/a/3897243/194544

点赞