好吧,我想我不會輕易放棄:)這是我發現我的問題的解決方案。由於我在模態視圖控制器中呈現我的主要應用程序視圖,因此我做了以下操作:
由於iOS 5的每個視圖控制器都有一個presentedViewController
屬性。一旦你知道這一點,從那裏很容易。 下面是一些具體的代碼裏面AppDelegate.m
- (void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
if ([[userInfo objectForKey:@"notificationType"] isEqualToString: @"messageType"]) {
UITabBarController * tabBarController = (UITabBarController *)[self.window.rootViewController presentedViewController];
[tabBarController setSelectedIndex:kChatViewIndex];
// My view controller that I presented modally is a tabBar, your case can be different.
// ... so from here I can reach any navigation controller or any other view from inside my app
}
現在,因爲你有你的視圖控制器,你可以使用的setSelectedIndex:如果它是一個tabBarController,或按某個視圖控制器如果它是一個導航裝置。
希望這可以幫助任何有類似問題的人。 乾杯!
你可以添加在導航控制器中嵌入你的rootViewController並保持navigationBar隱藏? – Anupdas
這是一個開始,但是我如何從StoryBoard推出另一個視圖?或者只能創建並顯示新的? –
你想從哪個控制器顯示(推送)這個新的視圖控制器(當通知進入時,是否希望能夠從屏幕上的任何控制器中推送它)?這個新控制器的目的是什麼?根據它的用途,模式演示可能更合適。 – rdelmar