@simplero/expo-screen-orientation

Expo universal module for managing device's screen orientation

Usage no npm install needed!

<script type="module">
  import simpleroExpoScreenOrientation from 'https://cdn.skypack.dev/@simplero/expo-screen-orientation';
</script>

README

Patch to work correctly on ios

https://github.com/expo/expo/issues/11558

expo-screen-orientation

Allows you to manage the orientation of your app's interface.

API documentation

Installation in managed Expo projects

For managed managed Expo projects, please follow the installation instructions in the API documentation for the latest stable release. If you follow the link and there is no documentation available then this library is not yet usable within managed projects — it is likely to be included in an upcoming Expo SDK release.

Installation in bare React Native projects

For bare React Native projects, you must ensure that you have installed and configured the react-native-unimodules package before continuing.

Add the package to your npm dependencies

npm install expo-screen-orientation

Configure for iOS

  1. Run npx pod-install after installing the npm package.

  2. Open the AppDelegate.m of your application.

  3. Make sure your AppDelegate extends UMAppDelegateWrapper as shown here.

  4. Import <EXScreenOrientation/EXScreenOrientationViewController.h>

  5. In -application:didFinishLaunchingWithOptions:launchOptions change default root view controller to EXScreenOrientationViewController:

    Replace

    UIViewController *rootViewController = [UIViewController new];
    

    with:

    UIViewController *rootViewController = [[EXScreenOrientationViewController alloc] init]; // The default screen orientation will be set to `portrait`.
    

    or if you want to change the default screen orientation, with:

    UIViewController *rootViewController =  [[EXScreenOrientationViewController alloc] initWithDefaultScreenOrientationMask:UIInterfaceOrientationMaskPortrait]; // through parameter you can specify your default orientation mask.
    

    For more information about available orientation masks, check out UIInterfaceOrientationMask

Note if you are using a custom view controller, the controller will need to extend the EXScreenOrientationViewController.

Configure for Android

No additional set up necessary.

Contributing

Contributions are very welcome! Please refer to guidelines described in the contributing guide.