【问题标题】:NativeScript Angular 2 disable swipe back on iosNativeScript Angular 2禁用在ios上滑动
【发布时间】:2016-08-12 00:10:18
【问题描述】:

有谁知道如何在导航到新页面后禁用向后滑动?

我读到这个:http://docs.nativescript.org/angular/core-concepts/angular-navigation#clearing-page-navigation-history

清除页面导航历史在 NativeScript 的页面导航中, 您可以选择导航到另一个页面并清除该页面 导航历史。这意味着用户将无法前往 使用返回按钮返回(或在 iOS 中向后滑动)。这在 您有一个登录页面并且您不希望用户成为的场景 登录后可以返回。 但我想在用户点击注销时返回登录页面。

我有 2 个页面,LoginPage 和 FirstPage。我正在使用路由器扩展。所以 this.nav.navigate([“/firstPage”], { clearHistory: true}); 这行得通。 在第二页上,我有一个按钮可以转到 this.nav.navigate([“/”]) (所以回到登录页面)。但我明白了

8 月 11 日 19:30:26 antons-MBP 应用程序名称 [62814]:控制台错误 文件:///app/tns_modules/zone.js/dist/zone-node.js:421:23:错误: Uncaught (in promise): TypeError: undefined is not an object (评估'cacheItem.reusedRoute')

【问题讨论】:

    标签: angular nativescript angular2-nativescript


    【解决方案1】:

    我在导航到新页面时测试了clearHistory,似乎一切都按预期工作。您能否验证一下您是否使用最新的 CLI 和模块。您可以在此处找到说明,其中描述了如何升级到最新的 NativeScript。关于它,您需要在激动人心的项目中升级tns-core-modulesnativescript-angular,您可以按照以下说明进行操作。

    1. tns plugin remove tns-core-modules
    2. tns plugin add tns-core-modules@2.2.0
    3. tns plugin remove nativescript-angular
    4. tns plugin add nativescript-angular@0.3.0

    您还可以查看我的示例应用程序 here,如何在 NativeScript Angular 中使用 clearHistory

    【讨论】:

    • 嗨 Nik,我已经更新了我的项目,还从 gitHub 克隆了你的项目。现在可以了。但。按下“转到第二个”=>从左向右滑动(屏幕边缘)=>点击“转到第一个”。结果,屏幕上什么也没有出现,也没有抛出错误
    • 我将审查此方案,并在我有可能的解决方案时给您回信。
    • 谢谢。在阅读了一堆关于如何在 Objective-C 中做到这一点的文章后,我修改了“ui/page”中的 page.ios.js。我添加了 this.navigationController.interactivePopGestureRecognizer.enabled = false (第 172 行),它解决了问题。当然,这只是部分解决方案,因为我修改了一个库,现在它会影响所有页面。希望这会有所帮助。
    • 嗨,artonio,我在nativescript-angular repo 中打开了新问题,NativeScript 的开发人员将在那里审查并修复问题 -github.com/NativeScript/nativescript-angular/issues/400
    【解决方案2】:

    我可以通过插入以下代码来禁用每页的滑动手势

    constructor(private nav: RouterExtensions) {
    
        this.nav.frame.ios.controller.interactivePopGestureRecognizer.enabled = false;
    
      }
    

    这样我不必修改库,但缺点是我必须在我想要向后滑动的每个页面上重新启用“interactivePopGestureRecognizer”。

    【讨论】:

    • 不是角度路由器扩展在框架部分显示错误,有什么信息吗?
    猜你喜欢
    • 1970-01-01
    • 2016-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 2019-10-06
    相关资源
    最近更新 更多