2012-06-17 27 views
0

請給我一些關於這種情況的提示。我有一個可以接收推送通知的iPhone應用程序。當我在通知中心點擊這個通知時,我的APP就會啓動。有沒有辦法根據收到的通知而不是默認屏幕來配置我的APP中的屏幕。這應該是可能的,因爲我在一些APP中看到了這些行爲。搜索答案後,我得到了下面的方法,但是如果應用程序在後臺,並且我在通知中心單擊了消息,didFinishLaunchingWithOptions和didReceiveRemoteNotification將不會被調用,相反,將調用applicationWillEnterForeground。在這種情況下,我如何將數據傳遞給應用程序。如何在iPhone通知中心點擊留言時轉到特定視圖?

(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 

} 

// will be called when in foreground 
(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {  

} 

回答

1

在提供的代表方法didReceiveRemoteNotification中提供所需的用戶界面或功能非常簡單。

我不使用故事板,但應該可以交換當前應用程序的任何根視圖,或者在該方法被觸發時提供不同的功能。

你的問題有點含糊,因爲你已經有了解如何去做的正確想法。

+0

最簡單的方法是在故事板中創建一個視圖控制器並給它一個標識符。使用'UIStoryboard'的instantiateViewControllerWithIdentifier方法(將相同的標識符作爲參數),您將擁有對該視圖控制器的引用。然後,您可以以模態方式顯示或將其推入導航堆棧。如果這不能回答你的問題,你必須澄清你的問題。 –

0

用戶信息或launchOptions字典將包含有關已發送的通知信息。您可以根據這些通知(例如,通知的標題或發送日期/時間)來決定要顯示哪個視圖。

+0

謝謝,實際上我知道如何獲取信息,但我不知道如何在Storyboard APP中顯示特定的屏幕。你可以請教我嗎? – scottliyq

+0

對不起,我剛剛檢查。如果該應用程序處於後臺並且我在通知中心點擊該消息。 didFinishLaunchingWithOptions和didReceiveRemoteNotification將不會被調用,相反,applicationWillEnterForeground將被調用。在這種情況下,我如何將數據傳遞給應用程序。 – scottliyq

相關問題