项目作者: nhnam

项目描述 :
Detect notch and safearea using view.safeArea instead of hardcoding checking for screen height (device type).
高级语言: Objective-C
项目地址: git://github.com/nhnam/react-native-iphone-safe-area.git
创建时间: 2018-12-30T05:59:57Z
项目社区:https://github.com/nhnam/react-native-iphone-safe-area

开源协议:

下载


react-native-iphone-safe-area

Getting started

$ npm install react-native-iphone-safe-area --save

Mostly automatic installation

$ react-native link react-native-iphone-safe-area

Manual installation

iOS

  1. In XCode, in the project navigator, right click LibrariesAdd Files to [your project's name]
  2. Go to node_modulesreact-native-iphone-safe-area and add RNIphoneSafeArea.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libRNIphoneSafeArea.a to your project’s Build PhasesLink Binary With Libraries
  4. Run your project (Cmd+R)<

Android

  1. Open up android/app/src/main/java/[...]/MainActivity.java
    • Add import com.reactlibrary.RNIphoneSafeAreaPackage; to the imports at the top of the file
    • Add new RNIphoneSafeAreaPackage() to the list returned by the getPackages() method
  2. Append the following lines to android/settings.gradle:
    1. include ':react-native-iphone-safe-area'
    2. project(':react-native-iphone-safe-area').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-iphone-safe-area/android')
  3. Insert the following lines inside the dependencies block in android/app/build.gradle:
    1. compile project(':react-native-iphone-safe-area')

Windows

Read it! :D

  1. In Visual Studio add the RNIphoneSafeArea.sln in node_modules/react-native-iphone-safe-area/windows/RNIphoneSafeArea.sln folder to their solution, reference from their app.
  2. Open up your MainPage.cs app
    • Add using Iphone.Safe.Area.RNIphoneSafeArea; to the usings at the top of the file
    • Add new RNIphoneSafeAreaPackage() to the List<IReactPackage> returned by the Packages method

Usage

  1. import IphoneSafeArea from 'react-native-iphone-safe-area';
  2. //...
  3. const result = await IphoneSafeArea.hasNotch(); // true
  4. const topNotch = await IphoneSafeArea.top(); // 44px