gpt4 book ai didi

ios - 有没有办法在 iOS 平台上的 NativeScript 应用程序中捕获和取消后退按钮事件?

转载 作者:行者123 更新时间:2023-12-01 19:39:55 26 4
gpt4 key购买 nike

我正在开发适用于 Android 和 iOS 的 NativeScript-Angular 应用程序,但在标准后退按钮导航方面遇到了问题。我已经解决了 Android 的问题,但找不到 iOS 的解决方案。

当返回到需要路由数据的特定页面时,该事件会导致问题,从而导致异常:

"Error: Currently in page back navigation - component should be reattached instead of activated".



我的 Android 解决方案捕获后退按钮事件并取消它,然后调用路由器进行导航。

ngOnInit() {
if (app.android) {
app.android.on(app.AndroidApplication.activityBackPressedEvent,
(args: any) => this.backEvent(args));
}
}

backEvent(args) {
args.cancel = true;
this.backToRegister(false);
}

backToRegister(accepted: boolean){
this.router.navigate(['/register',
this.registerParametersEntered.password,
this.registerParametersEntered.confirmPassword,
this.registerParametersEntered.code,
this.registerParametersEntered.email,
accepted]);
}

我想用 iOS 做一些类似的事情,例如:-
if (app.ios) {
this.page.on('navigatingFrom', (data) => {
// TODO cancel the back button event
this.backToRegister(false);
})
}

我找不到为 iOS 执行此操作的方法 - 我的研究使我得出结论,无法取消 iOS 后退按钮 - 例如,请参阅 here .

非常感谢任何想法或替代建议!

最佳答案

您不能覆盖 iOS 的后退按钮。看到这个SO question .您基本上需要创建一个自定义按钮,您可以模仿 iOS 上后退按钮的外观并添加您自己的事件处理程序。这就是您在 native iOS 应用程序中执行此操作的方式,以及您在 NativeScript 中执行此操作的方式,因为 native 控件是通过 NativeScript 使用的。

nativescript 中的操作栏可以在内部具有自定义布局,或者您可以只使用操作项并将其放置在 iOS 的左侧,同时如果您愿意,还可以在 Android 上隐藏按钮。

关于ios - 有没有办法在 iOS 平台上的 NativeScript 应用程序中捕获和取消后退按钮事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55594647/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com