2012-06-02 41 views
1

我有一個IOS應用程序可以打開特定類型的文檔。打開文檔時管理視圖層次

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

當它尚未啓動或通過

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation 

當應用程序已經啓動:

我的應用程序通過接收文檔。

當我的應用程序已經啓動時,用戶可能已經在我的應用程序中打開了很多視圖。接下來,當我的應用程序被觸發以打開文檔時,如何打開並導航到正確的視圖(關閉舊的層次並打開新的文檔以顯示文檔)?

我曾嘗試使用:

- (void)transitionFromViewController:(UIViewController *)fromViewController toViewController:(UIViewController *)toViewController duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion 

與fromViewController =所述RootViewController的和toViewController(使用的UIApplication &的UIWindow檢索):在的ViewController我需要顯示該文檔,但沒有成功。

任何想法如何在這個主題上取得進展? 謝謝,

Sébastien。

回答

0

心不是一個快速的回答這個問題 我遇到你同樣的問題,在這裏我有一個ReaderViewController,讀取文件 我有一個MainViewController是推ReaderViewController作爲一個模態控制器

在我的情況時,用戶打開外部文檔,我會做以下 •彈出現有的視圖控制器 •讀取URL,文件複製 •打開文檔 •目前新ReaderViewController新文件

這對我來說是這樣, 但我不認爲會有一個確切的解決方案,在openURL的每種情況下實施 我認爲你應該更多地研究你的視圖層次結構並研究你自己的情況,看看你應該看到什麼樣的觀點流行或解僱以及您應該推送或出示的意見

+0

感謝您的反饋意見。我的問題是,在我的應用程序中,用戶可以遵循不同的視圖層次結構(具有不同的深度),所以我不清楚如何彈出這些視圖。我不是在尋找一個確切的解決方案,而是爲了調查的方向。你可能是對的,我需要更詳細地研究我的視圖層次結構,以瞭解我需要做什麼。 – sebastien

+0

查看它的一種方法是繪製視圖添加的工作流程,然後追溯所有引導您到達的點的動作,當我遇到這個問題時我做了什麼,是我在紙上寫了什麼發生在工作流程圖中,繪製可能發生的所有或至少大部分情況,然後嘗試考慮如何將最簡單的解決方案級聯回原始視圖,如果您認爲此問題有幫助,則表示 你請考慮接受答案和/或upvote,以便其他人可以更快地找到它:) –