Expose iPad mouse & track pads interactions to React Native
npm install @thefunbots/react-native-pointer-interactions
---
Expose iPad mouse & track pads interactions to React Native
Ref: https://developer.apple.com/design/human-interface-guidelines/ios/user-interaction/pointers/
!demo
1. Install the library
``bash`
npm install @thefunbots/react-native-pointer-interactions --save
2. (Optional) Install react-native-swift
If you are not already using any other swift based modules in your app, install and run react-native-swift to configure your iOS project to support swift.
`bash`
npm install --save react-native-swift
After installing it, you will need to link it. Requires project to use Swift 5.0 and iOS SDK 13.4+
#### iOS
1. In XCode, in the project navigator, right click Libraries ➜ Add Files to [your project's name]node_modules
2. Go to ➜ react-native-pointer-interactions and add RNPointerInteractions.xcodeprojlibRNPointerInteractions.a
3. In XCode, in the project navigator, select your project. Add to your project's Build Phases ➜ Link Binary With LibrariesCmd+R
4. Run your project ()<
Add this to the Info plists
`xml`
Wrap the views you want to be interactable in PointerInteractionView
`jsx
import { PointerInteractionView } from '@thefunbots/react-native-pointer-interactions';
`
Soon
The component extends the regular View, so you can use the common properties too.
| Prop | Default | Description |
|-------------|---------------|-------------------------------------------------------------------------------|
| pointerMode | 'automatic' | [automatic, lift, highlight, hover, verticalBeam, horizontalBeam] |true
| beamLength | | Sets the cursor size for Beam modes only |
| hoverShadow | | Determines if the view should have a shadow when hovered |true
| hoverScale | | Determines if the view should scale up when hovered |true
| hoverTing | | Determines if the view should have an overlay tint when hovered |
If you want to play with the API but don't feel like trying it on a real app, you can run the example project. Clone the repo, go to the example/ folder and run:
`bash`
npm install
If you are running on ios, run pod install in the ios folder
Run react-native start to start the metro bundler
Run react-native run-ios (depending on which platform you want to run the example app on).
You will need to have an iOS device or emulator connected as well as react-native-cli package installed globally.
- It doesn't work when wrapping react-native-gesture-handler` buttons