2011-06-04 114 views
3

我一直在努力與使用UINavigationalController視圖之間切換時使用popViewController閃爍白色。我多次使用這個系統沒有問題,但在我的新應用程序,它不能正常工作。麻煩過渡

這裏是問題: 當我推我用下面的代碼創建一個新的視圖控制器:

NewViewController *newVC = [[NewViewController alloc] initWithNib:@"NewView" bundle:nil]; 
[self.navigationController pushViewController:newVC animated:YES]; 
[newVC release]; 

我使用返回NEWVC內的一個視圖中的代碼是:

[self.navigationController popViewControllerAnimated:YES]; 

我讀這可能被釋放self.navigationController本身,所以我實現了這個代碼:

UINavigationController *nc = [self navigationController]; 
[nc popViewControllerAnimated:YES]; 

什麼結果是順利過渡到NEWVC沒有白色閃光燈,但回到原來的頁面時在屏幕上閃爍白如果轉變回原來的頁面之前釋放NEWVC。然而!在調試時,我在原始頁面的viewWillAppear上放置了斷點,在newVC的dealloc上放置了斷點,並且在調用newVC的dealloc之前,使用white flash完成了viewWillAppear + transition。

如果有人能幫照這個,我將不勝感激一些輕。

謝謝! 〜Arash的

+0

這是一個老的文章,但我目前所面臨的相同問題。你解決了這個問題嗎? – 2016-08-24 02:50:05

+0

亞歷克斯,我不記得我是如何解決這個問題的,但是如果你仍然遇到這個問題,請嘗試KaiDANTE的建議。如果有效,請在此告訴我們,我會將其標記爲將來參考的答案:)。 – iOS4Life 2016-08-25 14:08:43

回答

0

嘗試改變的導航堆棧不同的可識別的顏色(包括主窗口)在各種視圖中的背景色。其中一個可能出於某種原因顯示,如果每個人都有不同的顏色,你可以很容易地確定哪一個是罪魁禍首。

10

這是舊的文章,但對於那些誰可能會遇到這個問題,在未來,我已經通過設置視圖控制器的視圖的clipsToBounds財產解決它爲「TRUE」

-(void)viewDidLoad { 
    [super viewDidLoad]; 
    self.view.clipsToBounds = YES; 
} 
0

FWIW ,同樣的問題發生在我的Swift應用程序中。根本原因似乎是我這樣做:

self.navigationItem.rightBarButtonItem = nil 

...動態隱藏按鈕,其中UIBarButtonItem當前UIViewController有一個出口。

我並不真正需要該按鈕的IBOutlet,所以我刪除了出口,和它的工作。