iOS long press status property

This commit is contained in:
tsonevn
2019-09-23 16:51:49 +03:00
parent 3e8d6350b9
commit 28de3d64cd
3 changed files with 24 additions and 3 deletions

View File

@ -380,6 +380,7 @@ function _getArgs(type: GestureTypes, view: View, e: android.view.MotionEvent):
ios: undefined,
object: view,
eventName: toString(type),
state:undefined,
};
}

View File

@ -226,7 +226,12 @@ export interface PanGestureEventData extends GestureEventDataWithState {
deltaX: number;
deltaY: number;
}
/**
* Provides gesture event data for longPress gesture.
*/
export interface LongPressGestureEventData extends GestureEventDataWithState {
state: number;
}
/**
* Provides gesture event data for rotation gesture.
*/

View File

@ -1,5 +1,5 @@
// Definitions.
import { GestureEventData, SwipeGestureEventData, PanGestureEventData, RotationGestureEventData, PinchGestureEventData } from ".";
import { GestureEventData, SwipeGestureEventData, PanGestureEventData, LongPressGestureEventData, RotationGestureEventData, PinchGestureEventData } from ".";
import { View, EventData } from "../core/view";
// Types.
@ -167,7 +167,9 @@ export class GesturesObserver extends GesturesObserverBase {
}
if (type & GestureTypes.longPress) {
nativeView.addGestureRecognizer(this._createRecognizer(GestureTypes.longPress));
nativeView.addGestureRecognizer(this._createRecognizer(GestureTypes.longPress, args => {
this._executeCallback(_getLongPressData(args));
}));
}
if (type & GestureTypes.touch) {
@ -344,6 +346,19 @@ function _getPanData(args: GestureEventData, view: UIView): PanGestureEventData
};
}
function _getLongPressData(args: GestureEventData): LongPressGestureEventData {
const recognizer = <UILongPressGestureRecognizer>args.ios;
return <LongPressGestureEventData>{
type: args.type,
view: args.view,
ios: args.ios,
android: undefined,
object: args.view,
eventName: toString(args.type),
state: recognizer.state,
};
}
function _getRotationData(args: GestureEventData): RotationGestureEventData {
const recognizer = <UIRotationGestureRecognizer>args.ios;