我正在开发一个React Native iOS应用程序,它是一个通用应用程序,并且有一个标签栏布局,我试图让它颠倒旋转,但它没有旋转。我已经检查了Xcode中的纵向和上下颠倒的设备方向复选框
已经看到了Info.plist中的变化
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
我已在this stackoverflow post中读到,我可能需要以编程方式指定(我假设的)视图控制器中的已接受方向,但不能旋转,但我无法访问主视图控制器(该应用程序主要是JavaScript)。所以,这似乎有点不可行。
在尝试解决这个问题时,我已经检查了Xcode中的横向选项,并确认这些选项确实有效,而不是颠倒选项。
对此有任何帮助或指导都会很棒。谢谢!
答案 0 :(得分:0)
react-native代码不支持立即上下颠倒。
要使其正常工作,您需要像检查复选框一样选中Upside Down框,并在AppDelegate.h文件底部添加以下代码:
@interface AllOrientationViewController : UIViewController
@end
完成后,在AppDelegate.m文件的底部添加以下内容:
@implementation AllOrientationViewController
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAll;
}
@end
最后一部分是修改AppDelegate.m中的以下代码行:
UIViewController *rootViewController = [UIViewController new];
有了这个:
UIViewController *rootViewController = [AllOrientationViewController new];
注意:由于它可以not support portraitUpsideDown,因此在iPhoneX上仍然无法使用。