2011-02-10 128 views
8

如何將現有的UIViewController(使用presentModalViewController呈現)添加到UINavigationController中?將UINavigationController添加到現有的UIViewController中

當用戶點擊按鈕時,需要推送我的詳細視圖的新副本。 (換句話說,pushViewController以模態方式在UINavigationController中顯示pushViewController)。

最簡單的方法來啓用此功能?

+0

目前還不清楚你在問什麼。你想以模態方式呈現UINavigationController嗎?這「感覺」錯了,但我不確定。 – Bogatyr 2011-02-10 14:01:38

+0

這是簡化的描述...模態地呈現UINavigationController ...(但是修改現有的UIViewController) – marko 2011-02-10 14:11:40

回答

36

你如何創建你的模式視圖 - 控制?只是包裝控制器到一個UINavigationController

讓我們假設你的模式代碼是這樣的:

MyExampleViewController *vc = [[[MyExampleViewController alloc] initWithNibName:@"MyExample" bundle:nil] autorelease]; 
[self presentModalViewController:vc animated:YES]; 

然後把它變成是這樣的:

MyExampleViewController *vc = [[[MyExampleViewController alloc] initWithNibName:@"MyExample" bundle:nil] autorelease]; 
UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:vc] autorelease]; 
[self presentModalViewController:navController animated:YES]; 
0

我認爲你需要在你的委託中添加一個導航控制器,之後你可以推動視圖。以便您可以從應用程序的任何位置推送視圖。

上AppDelegate.h

UINavigationController *navig; 

上AppDelegate.M

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{  
    navig = [[UINavigationController alloc] initwithRootViewController:viewController.view]; 

    //[navig pushViewController:viewController animated:YES]; 
    [self.window addSubview:navig.view]; 
    [self.window makeKeyAndVisible]; 

    return YES; 
} 
+0

我無法理解這個問題或者看到這個答案的相關性:)。 – Bogatyr 2011-02-10 14:02:55

相關問題