React 本机方向不起作用 ||锁定 IOS

React native orientation is not working || locking on IOS

我用 React-native 创建了一个应用程序。除了 1 页之外,我制作的所有页面都是为纵向模式设计的。页面可访问性来自一个按钮 onPress 然后导航到该页面,所以我无法在 Xcode

上锁定方向

我安装了这个包并且我可以运行它在android上完美

import Orientation from 'react-native-orientation';

当我在 IOS 模拟器上尝试它时,它可以在每个页面上将方向转换为横向。

我把这一行放在每个页面中 componentdidmount 但没有任何变化。

componentDidMount() {
   

    Orientation.lockToPortrait()
...
}

我该怎么办?

也许这篇文章可以帮助您解决问题lock screen orientation react native

再次嗨@masterAvatarr,

我相信这就是您要找的东西,如果您还需要其他东西,请向我解释 :) 我们可以做到。

我为你做了一个简单的例子。

https://github.com/WrathChaos/react-native-portrait-locker-example

我用React Native Orientation Locker Library

重要的部分是:

  • 确保您手动链接了库(选中 AppDelegate.m)
  • 您需要根据您的用例制定解锁和锁定纵向模式的逻辑

请看一下HomeScreenDetailScreen


import Orientation from "react-native-orientation-locker";


React.useEffect(() => {
    const unsubscribe = navigation.addListener("focus", () => {
      // The screen is focused
      // Call any action
      Orientation.unlockAllOrientations();
      Orientation.lockToPortrait();
    });

    // Return the function to unsubscribe from the event so it gets removed on unmount
    return unsubscribe;
  }, [navigation]);

注意: Github Repo

上有一个小 GIF 演示