React Native标签栏app颠倒不旋转

jas*_*ino 6 iphone xcode ios react-native

我正在开发一个React Native iOS应用程序,这是一个通用的应用程序,并有一个标签栏布局,我试图让它颠倒旋转,但它不旋转.我已经检查了Xcode中的设备方向复选框,用于纵向和上下颠倒

并且已经看到了Info.plist中的变化

<key>UISupportedInterfaceOrientations</key>
<array>
    <string>UIInterfaceOrientationPortrait</string>
    <string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
Run Code Online (Sandbox Code Playgroud)

我在阅读这个计算器后,我可能需要以编程方式指定的(我认为是)是不旋转视图控制器接受的方向,但我没有进入主视图控制器(应用程序主要是JavaScript的).所以,在这一点上,这似乎是不可行的.

在尝试解决这个问题时,我已经检查了Xcode中的Landscape选项并验证了它们是否正常工作,而不是Upside Down选项.

任何帮助或方向都会很棒.谢谢!

Fra*_*eau 0

React-Native 代码不支持开箱即用的颠倒。

要使其正常工作,您需要像以前一样选中 Upside Down 框,并在 AppDelegate.h 文件的底部添加以下代码:

@interface AllOrientationViewController : UIViewController
@end
Run Code Online (Sandbox Code Playgroud)

完成后,在 AppDelegate.m 文件的底部添加以下内容:

@implementation AllOrientationViewController
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
{
   return UIInterfaceOrientationMaskAll;
}
@end
Run Code Online (Sandbox Code Playgroud)

最后一部分是修改AppDelegate.m中的以下代码行:

UIViewController *rootViewController = [UIViewController new];
Run Code Online (Sandbox Code Playgroud)

有了这个:

UIViewController *rootViewController = [AllOrientationViewController new];
Run Code Online (Sandbox Code Playgroud)

注意:这在 iPhoneX 上仍然不起作用,因为它不支持PortraitUpsideDown。