diff options
author | Minh Nguyễn <mxn@1ec5.org> | 2017-02-21 22:47:15 -0800 |
---|---|---|
committer | Minh Nguyễn <mxn@1ec5.org> | 2017-02-21 22:47:15 -0800 |
commit | 2f388d663505255e967597c52656cc076e20d95c (patch) | |
tree | 157ec4c96a5d6f7c67367f96b73957870ee78edb /platform/ios/docs | |
parent | b512af6a6682bf133d8d580cccb309f671f287f6 (diff) | |
parent | df6a06bd07bda3207b31d86dd66a7468cc33c440 (diff) | |
download | qtlocation-mapboxgl-2f388d663505255e967597c52656cc076e20d95c.tar.gz |
Merge branch 'release-ios-v3.4.0' into 1ec5-release-ios-v3.4.2
Diffstat (limited to 'platform/ios/docs')
-rw-r--r-- | platform/ios/docs/guides/Gesture Recognizers.md | 38 | ||||
-rw-r--r-- | platform/ios/docs/img/user-interaction/RotateSydney.gif | bin | 0 -> 5064046 bytes | |||
-rw-r--r-- | platform/ios/docs/img/user-interaction/quickzoom.gif | bin | 0 -> 7186288 bytes |
3 files changed, 38 insertions, 0 deletions
diff --git a/platform/ios/docs/guides/Gesture Recognizers.md b/platform/ios/docs/guides/Gesture Recognizers.md new file mode 100644 index 0000000000..08e4c150e1 --- /dev/null +++ b/platform/ios/docs/guides/Gesture Recognizers.md @@ -0,0 +1,38 @@ +# User Interactions + +The Mapbox iOS SDK provides a set of built-in gesture recognizers. You can customize or supplement these gestures according to your use case. You see what gesture recognizers are on your `MGLMapView` by accessing the `gestureRecognizers` property on your map. + +## Configuring user interaction + +Several properties on an `MGLMapView` provide ways to enable or disable a set of gesture recognizers. Boolean values are set to `YES` by default. + +- `zoomEnabled` - Allows the user to zoom in or out by pinching two fingers, double-tapping, tapping with two fingers, or double-tapping then dragging vertically. Accepts Boolean values. +- `scrollEnabled` - Allows the user to scroll by dragging or swiping one finger. Accepts Boolean values. +- `rotateEnabled` - Allows the user to rotate by moving two fingers in a circular motion. Accepts Boolean values. +- `pitchEnabled` - Allows the user to tilt the map by vertically dragging two fingers. Accepts Boolean values. +- `decelerationRate` - Determines the rate of deceleration after the user lifts their finger. You can set the value using the `MGLMapViewDecelerationRateNormal`, `MGLMapViewDecelerationRateFast`, or `MGLMapViewDecelerationRateImmediate` constants. + +## Individual gestures + +|Gesture | Description | Related Property | +|:-------:|----------------| -----------| +|Pinch | Zooms in or out on the map's anchor point | `zoomEnabled` | +|Rotation | Changes the MGLMapView direction based on the user rotating two fingers in a circular motion | `rotateEnabled` | +|Single tap | Selects/deselects the annotation that you tap. | | +|Double tap | Zooms in on the map's anchor point | `zoomEnabled` | +|Two-finger tap | Zooms out with the map's anchor point centered | `zoomEnabled` | +|Pan | Scrolls across mapView (_note: if_ `MGLUserTrackingModeFollow` _is being used, it will be disabled once the user pans_)| `scrollEnabled` | +|Two-finger drag | Adjusts the pitch of the `MGLMapView` | `pitchEnabled` | +|One-finger zoom | Tap twice; on second tap, hold your finger on the map and pan up to zoom in, or down to zoom out | `zoomEnabled`| + +![quick zoom](img/user-interaction/quickzoom.gif) ![rotation](img/user-interaction/RotateSydney.gif) + +## Adding custom gesture recognizers + +You can add `UIGestureRecognizers` to your map programmatically or via storyboard. Adding custom responses to gesture recognizers can enhance your user's experience, but try to use standard gestures where possible. + +The gesture recognizers that you add will take priority over the built-in gesture recognizer. You can also set up your own gesture recognizer to work simultaneously with built-in gesture recognizers by using `-gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:`, allowing you to enhance already existing gesture recognizers. + +You can also add gesture recognizers that are only called when the default gesture recognizer fails (and vice versa), such as when a user taps on a part of the map that is not an annotation. The documentation for [MGLMapView](Classes/MGLMapView.html) includes an example of how to create a fallback gesture recognizer. + +If you would like to disable a specific set of gesture recognizers, such as zoom, you can set the Boolean value for the appropriate property to `NO`. You can then add your own gesture recognizers to perform those actions. diff --git a/platform/ios/docs/img/user-interaction/RotateSydney.gif b/platform/ios/docs/img/user-interaction/RotateSydney.gif Binary files differnew file mode 100644 index 0000000000..5ee840e04b --- /dev/null +++ b/platform/ios/docs/img/user-interaction/RotateSydney.gif diff --git a/platform/ios/docs/img/user-interaction/quickzoom.gif b/platform/ios/docs/img/user-interaction/quickzoom.gif Binary files differnew file mode 100644 index 0000000000..79aa9e8dce --- /dev/null +++ b/platform/ios/docs/img/user-interaction/quickzoom.gif |