2016-03-07 23 views
0

我想在保留後臺堆棧(後退按鈕導航)的同時在故事板中創建「深層鏈接」。用正確的後臺深入鏈接到故事板

例:

下面給出的(入口點是最左邊的導航控制器)故事板

storyboard

當我的應用程序通過遠程通知開我想在打開第二個選項卡通過製表符控制器,並能夠通過後退按鈕導航回到項目列表。

請注意,我不是問如何打開第二個選項卡,或者如何創建這樣的故事板,但是特別是如果有一種方法可以用故事板來做到這一點,或者我將不得不通過代碼來做到這一點。

謝謝! PS:我來自Android背景,手動重建父視圖控制器或(更好地)將其插入到後臺堆棧中。就我的研究來說,ios中不存在這樣的事情。我希望我錯了。

回答

1

您的UINavigationController有一個viewControllers屬性。您可以根據需要在NSArray中創建任意數量的視圖控制器,並將其分配給該屬性,並且該數組將顯示陣列中最後一個VC的反向堆棧。

+0

一個子問題:我將如何爲變化設置動畫?我嘗試了pushViewC(animate:true),但是這通過了所有添加的視圖控制器,這不是我想要的。我認爲正確的選擇是對窗口而不是視圖控制器做些什麼。 這有些作品,謝謝。問題是父導航控制器及其navigationBar不跟蹤更改,並且當用戶導航返回標題轉換不平滑時,它們會偏移一點。它很難形容。 我用pushViewController來創建「後退堆棧」,並且效果更好。 – Greg

+0

你可以用n-1項來設置背部堆棧,第n個VC上的pushVC(animated:true)? –

+0

我試過了,它跳轉到「後退堆棧」,並且比最後一個vc動起來。 – Greg

2

問題是,當通知到達時,您的應用可能處於任何狀態。它可能正在運行,並顯示其他一些屏幕。它可以暫停,並顯示其他屏幕。或者它可能根本沒有運行,現在必須從頭開始啓動。

因此,如果您希望將應用置於適當的狀態,則必須在此處響應的App Delegate例程中手動(以代碼形式)處理該情況。