2017-05-11 110 views
0

在我的應用程序中,我有三個視圖控制器,讓我們稱它們爲MainVC,ObjectsVC和EventsVC(對不起,如果你不喜歡這樣的快捷鍵)。 MainVC是整個應用程序的初始VC,其餘的是包含具有一些對象的列表的TableVC。
此應用程序支持推附帶 「id」 字段聲明:
- ID = 0 - >應用程序啓動正常
- ID = 1 - >應用程式ObjectsVC開始
- ID = 2 - >應用程式EventsVC開始
當用戶點擊進入的PN時,如何實現上面列出的轉換?用戶通過觸摸收到的推送通知打開應用程序

回答

2

讓你notificationId一個直接的辦法是回到初始viewController,然後推期望之一。例如:

if id == 2 { 
    let eventsVc = EventsVC() 
    navigationController?.popToRootViewController(animated: false) 
    navigationController?.pushViewController(eventsVc, animated: false) 
} 

如果所需viewController已經在導航堆棧,你應該檢查它確實存在,並pop它。

它真的取決於所需的導航行爲。

+0

如果MainVC和ObjectVC之間的視圖更少,那該怎麼辦? – mcgtrt

0

嘗試使用

(void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler; 

您可以通過notification.request.content.userInfo

相關問題