在Nativescript Angular中,我可以从左边缘向右滑动,在iOS上返回。是否有任何方法可以检测或捕获此后退手势?
原因是因为我在屏幕上有一个按钮,当点击时执行“this.routerExtensions.back()”。我想确定“返回操作”是来自该按钮还是iOS滑动事件。
谢谢
原因是因为我在屏幕上有一个按钮,当点击时执行“this.routerExtensions.back()”。我想确定“返回操作”是来自该按钮还是iOS滑动事件。
谢谢
NativeScript 在页面上有这个属性。
https://docs.nativescript.org/api-reference/classes/ui_page.page.html#enableswipebacknavigation
如果你将其设置为false,那么你应该能够创建自己的手势来返回。即使在原生iOS上,我也不确定你是否可以直接利用返回手势,而不是用自己的手势替换它。constructor(...) {
if (isAndroid) {
Application.android.on(
AndroidApplication.activityBackPressedEvent,
(data: AndroidActivityBackPressedEventData) => {
data.cancel = true;
...yourCustomFunction()
}
);
} else {
page.enableSwipeBackNavigation = false;
}
}
public onSwipe = (args: SwipeGestureEventData) => {
if (!isAndroid) {
if (args.direction === SwipeDirection.right) {
...yourCustomFunction()
}
}
};
<StackLayout [interactivePopGestureRecognizer]="false" (swipe)='onSwipe($event)'>
...
</StackLayout>