1

我有一個帶導航控制器的選項卡視圖控制器。在第一個標籤項中,我點擊一個視圖中的按鈕,彈出一個視圖,並帶有動畫:YES。在UINavigationController中推視圖控制器

然後,當這個觀點完成後,我打了另一個按鈕,駁回它。像:

    [self dismissViewControllerAnimated:NO completion:^{ 

         ProfilesViewController *profile = [[ProfilesViewController alloc] init]; 
         [self.navigationController pushViewController:profile animated:YES]; 

         //SHOW YOUR NEW VIEW CONTROLLER HERE! 
        }]; 

但每次運行此代碼,它駁斥的觀點,不壓型材控制器,並表示從第一個標籤欄項目的看法。

如何推動ProfilesViewController屏幕與後退箭頭?

+0

嘗試通過將其作爲根用戶導航控制器來呈現viewcontroller。然後從該視圖控制器本身推入'ProfilesViewController'。 – Akhilrajtr 2014-10-09 07:57:29

+0

我以root身份設置哪一個 – cdub 2014-10-09 07:58:44

+0

將呈現的視圖控制器作爲root用於導航控制器。在完成任務調用'dismissViewControllerAnimated'後,推送'ProfilesViewController'。 – Akhilrajtr 2014-10-09 08:01:45

回答

2

如果使用dismissViewControllerAnimated駁回這意味着,VC有模式呈現。因此,它沒有導航控制器(因此self.navigationController爲零),因此它不能將任何東西推入導航控制器。

你應該屬性真正加入到控制器,它是代表或可用於從另一個控制器駁回,推動控制器(即呈現它的)推控制器完成塊。

第二選項是通過導航控制器,它是一個類似的代碼量,以使用塊,但不那麼好。

一個糟糕的選擇是使用parentViewController找到相應的導航控制器,但吸的原因有很多。

+0

所以標籤視圖控制器有4個視圖控制器。並且每個按鈕都會彈出上面的代碼並將其解除。我在哪裏創建該房產? – cdub 2014-10-09 08:04:27

+0

該屬性被添加到彈出的VC中,因爲它需要一個委託來告訴它何時完成,以便委託可以推送其他VC – Wain 2014-10-09 15:46:23

+0

我可以獲得一些代碼幫助嗎?如何正確地執行它 – cdub 2014-10-12 09:36:26

相關問題