2017-01-22 30 views
0

在{N} iOS平臺中,當您導航到新頁面時,{N}似乎會自動向操作的左側添加一個「<返回」按鈕酒吧。在{N}中運行時iOS上的後退導航問題

這個事件能被截取嗎?

此外,我訪問一個簡單的關於頁面,然後按此自動生成的返回,然後再次訪問...通常在第二次或第三次 - 該頁面被凍結 - 不接受任何水龍頭。

此頁面在Android中正常工作。

<Page navigatingTo="navigatingTo" xmlns="http://schemas.nativescript.org/tns.xsd" class="page"> 
    <Page.actionBar> 
     <ActionBar class="action-bar" title="Settings"> 
     <NavigationButton text="Go Back" android.systemIcon="ic_menu_back" tap="onBackTap"/> 
    </Page.actionBar> 
</Page> 
+0

你能分享一些代碼,這將幫助任何人誰在讀這看你想什麼來實現,以及如何。 –

+0

這是導致問題的頁面 - 沒有模型代碼。我可以進入頁面,然後按BACK,然後重新訪問該頁面,不能再點擊BACK。同樣在第一個BACK上,我沒有得到onBackTap()回調。這是在iOS上。 – dashman

+0

我想我解決了屏幕凍結的問題。我從sidedrawer導航到這個頁面。在導航到上述頁面之前,我明確地調用了closeDrawer(),它似乎是行爲。我仍然沒有在iOS上調用onBackTap事件的問題。 – dashman

回答

0

NativeScript不允許處理敲打事件來覆蓋NavigationButton的後退導航作爲docs說明。

我知道的唯一解決方案是隱藏iOS的NavigationButton並添加一個模擬NavigationButton的ActionItem。下面是一個例子:

<NavigationButton visibility="collapse" *ngIf="!isAndroid"></NavigationButton> 
<ActionItem icon="res://ic_arrow_back" text="Back" (tap)="onBack()" *ngIf="!isAndroid" ios.position="left" 
      [nsRouterLink]="['/main']" pageTransition="slideRight"></ActionItem> 
相關問題