作者y03131003 (Jimmy)
看板MacDev
標題[問題] dismissViewController
時間Wed Feb 26 15:23:05 2014
我有A, B, C, D 四個viewController
A 是 rootViewController(TabBarViewController)
B 是 用AVFoundation寫的相機
A 用 modal 的方式叫出了 B
B 用 modal 的方式叫出了 C
C 用 modal 的方式叫出了 D
我想在D裡按一個按鈕回到A
一開始是在storyboard裡直接拉一個segue到A
然後performSegueWithIdentifier
不過這樣似乎有memory leak的問題,多重複幾次這個步驟記憶體就直線上升
最後導致當機
後來查了一下發現要回到 A 只要在 D裡取得rootViewController
然後rootViewController呼叫 dismissViewController 就行了
如下
[[[[UIApplication sharedApplication] keyWindow] rootViewController]
dismissViewControllerAnimated:NO completion:nil];
這樣的確可以成功,可是按下按鈕後大概要等2秒才會回到A..
請問有辦法按下的瞬間就回到A嗎?
用performSegue的方法可以瞬間,但是多重複幾次就當機了...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.218.72
→ y03131003:我覺得很有可能是因為中間有個相機的viewController.. 02/26 16:45
→ uranusjr:你先一層一層 dismiss 看看到底是哪一個在慢 02/26 17:18
→ howdiun:相機要關掉比較好吧.... 02/26 17:21