0

晚上好!如何在快速解除第二個和第三個VC的同時在第三個和第一個視圖控制器上製作動畫?

我對編程的新和我試圖作出快速的應用程序是這樣的:

一個--segue - >乙--segue - 「ç

I' m在視圖控制器之間使用模態輪廓。

然後我想從第三視圖控制器回到第一個和我目前使用下面的代碼:

Ç--- dismissCandB ---->一個

self.presentingViewController!.presentingViewController!.dismissViewControllerAnimated(false, completion: nil) 

我沒有在這個應用程序上使用NavigationController,所以任何代碼試圖解決這個問題envolving導航控制器設置不會幫助我。

問題是:我想要一個只涉及第三個和第一個視圖控制器的動畫(就像從C到A的模態漸變)。但我無法使用segue,因爲爲了使應用程序正常工作,我需要通過代表(而不是prepareforsegue)將數據從C傳遞給A.

當我將布爾值設置爲「true」時,動畫總是涉及第二個視圖控制器,我不希望它被顯示。

關於如何完成這項工作的任何想法?提前致謝。

回答

-1

我認爲你需要這樣的代碼:

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
let vc = storyboard.instantiateViewControllerWithIdentifier("FirstViewController") as! UIViewController 
self.presentViewController(vc, animated: true, completion: nil) 
+0

非常感謝Dharmesh!這段代碼實際上做到了這一點。但是現在我有另一個問題阻止我實現該代碼。我通過委託從C傳遞給A的數據不再傳遞。 A開始時就好像我第一次啓動應用程序一樣。有想法該怎麼解決這個嗎。或者任何其他方式來製作此動畫而不殺死委託協議?非常感謝!! – Jorge

+0

如果您只想傳遞值,請檢查此示例項目:http://s000.tinyupload.com/?file_id=82406939138568179480 –

+0

非常感謝Dharmesh,但這需要對代碼進行大量更改。實際上,當我使用解僱時,第一個VC會隨着我在賽前的變化而出現。當我使用Instantiate時,它顯示爲新的,這不是重點。所以我現在要做的就是在賽格B之前創建一個新的B上的視圖(使用第一個VC的視覺效果),所以當我解散時,交叉溶解方法將使得相同視覺效果好像第二個VC沒有被展示。我怎麼能做到這一點的任何提示?非常感謝。 – Jorge

相關問題