2015-06-07 54 views
0
  1. 這裏有一個viewController這裏。在addChildViewController函數中,我添加了一個tableViewController作爲其子。
  2. 現在,我們可以看到的是viewController's,但我想顯示tableViewController's tableView「presentViewController」呈現viewController的childViewController會導致錯誤?

    [viewController presentViewController:tableViewController animate:YES xxx:xxx]

  3. 我在第2步觸發做哪些錯誤:「Application tried to present modally an active controller.」

所以,問題是:

  1. 如果我想我通過實現這一目標顯示的childViewController的視圖,我不能使用presentViewController函數嗎?

  2. 如果是這樣,爲什麼?

  3. 我該如何解決問題?

非常感謝您的閱讀和回答。我尋找了幾天的理由。

+0

將控制器添加爲子控件時,還必須將該控制器的視圖添加爲父控制器視圖的子視圖。你不應該調用'presentViewController:animated:'。您應該閱讀Apple的文檔「創建自定義容器視圖控制器」。 – rdelmar

+0

@rdelmar thx很多!我已閱讀文檔,並且對我有所幫助! – tan

回答

0

這就是給你的答案線索「應用程序試圖模態呈現活躍控制器」。

解決辦法有兩個:

使用presentViewController的1.Instead,你應該使用addSubview這樣的:

[viewController.view addSubview:tableViewController.view]; 

使用addChildViewController的2.Instead:

// [viewController addChildViewController:tableViewController]; 
[viewController.view presentViewController:tableViewController animate:YES completion:nil]; 
+0

解決了我的問題!多謝!! – tan