2011-01-07 84 views
1

我已閱讀帖子:Pop-up modal with UITableView on iPhone 我不明白以下部分答案(因爲我無法評論原始帖子,所以我創建了這個新帖子問題):用iPhone上的UITableView彈出模態(follow)

UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:optionViewController]; 

爲什麼分配一個新的控制器作爲調用新的optionController的窗口可能已經有一個?

,如果我只是寫什麼:

OptionViewController* optionViewController = [[OptionViewController alloc] initWithNibName:@"OptionView" bundle:nil]; 
[self.navigationController presentModalViewController:optionViewController animated:YES]; 

看來工作...

如果我有一個名單,是去一個細節視圖,從那裏我切換到修改視圖,然後從我調用此選項窗口的位置調用此optionWindow的代碼是什麼?這個 ?還有其他的嗎?我真的有問題在屏幕之間處理UINavigationController ...(其中應該定義第一個,屏幕之間應該傳遞什麼,何時可以創建一個新的...)

回答

2

模態視圖不會使用父母的UINavigationController。這意味着如果你在模態視圖中需要一個新的視圖控制器「堆棧」,那麼你需要添加你自己的視圖控制器。另一方面,如果你不需要模態視圖中的導航控制器的功能,那麼沒有理由添加一個。

這裏是宋爲我做到了在我的兩個應用程序的更多細節:

我的根視圖控制器有一個UINavigationController。我打開使用此代碼模態的視圖:

 TwitterPostViewController* vc = [[TwitterPostViewController alloc] init]; 
     [viewc presentModalViewController:vc animated:YES]; 
     [vc release]; 

然後將模態視圖使用此代碼駁回:

[self dismissModalViewControllerAnimated:YES]; 
+0

@Stephen達林頓:問題編輯 – Oliver 2011-01-07 15:14:25