2014-09-29 74 views
4

所以在我的代碼中,我有一個選項卡欄控制器。當您單擊其中一個選項卡時,它會調用此代碼打開一個新的故事板(用於視頻捕捉)。一次關閉多個視圖控制器(iOS 8)

NavController *NC = [[NavController alloc] initWithCaptureInput]; 
[self presentViewController:NC animated:YES completion:nil]; 

在這個視圖中,他記錄了一個視頻,然後故事板顯示了segue。在這個視圖中,用戶可以預覽他的視頻。當他點擊一個按鈕時,故事板將他推到下一個視圖。

在最後一個視圖中,我使用iOS 7調用此應用程序以使應用返回到初始視圖(在當前故事板之前)。

[self.presentingViewController.presentingViewController dismissViewControllerAnimated:YES completion:nil]; 

這工作得很好,但在iOS 8中,頂視圖被解散,並且在動畫期間,您會看到視頻預覽視圖。它只有在動畫完成時纔會刪除視頻預覽視圖(因爲它應該是)。

任何人都可以告訴我如何我可以有我的適當的動畫,頂視圖被刪除,並在動畫期間,你只能看到初始視圖?如果應用程序要同時刪除所有視圖(也可以同時對其進行動畫處理),則可以執行此操作。

+0

我覺得這個線程可能會幫助我:http://stackoverflow.com/questions/25654941/unwind-segue-not-working-in-ios-8 但它到目前爲止還沒有工作。 – NickProvost 2014-09-30 03:48:25

+0

嗨,我很好奇,如果你找到了解決方案。謝謝! – James 2015-02-07 20:05:40

+0

@NickProvost您是否設法找到解決方案? – Matt 2015-06-03 11:30:46

回答

1

是的,我也注意到了這種行爲。展開順序(如Technical Note TN2298中所述)似乎更好地處理此問題。

在你想放鬆,加上看起來的方法視圖控制器,如:

// use whatever name most descriptively captures the functional purpose of the 
// view controller that you are unwinding _to_ 

- (IBAction)unwindToMainMenu:(UIStoryboardSegue*)sender 
{ 
} 
在IB現場

那麼你是從過渡可以控制 +從「解除」按鈕拖動到出口控制(如該技術說明中所示或shown herehere),然後選擇您的放鬆繼續。在我的偶然實驗中,當您執行展開順序時,看起來您在過渡期間看不到臨時視圖。

+0

所以我試着放鬆休息。但是類似的問題。當前視圖正在消失,視圖下方的視圖看起來動態化,而不是當前的視圖動畫,然後視圖下面的視圖消失。我覺得放鬆賽段可能是我最好的選擇。 – NickProvost 2014-09-29 18:12:28

+0

這是iOS8.4中的相同問題http://stackoverflow.com/questions/31396193/impossible-animation-with-dismisscontrolcontrolleranimated-ios8-4 – Chisx 2015-07-14 02:07:08

相關問題