我正在使用pushViewController在我的應用程序中推送視圖。按後退按鈕約95%的時間就像你期望的那樣。但是,如果我儘可能快地進出視野,我會遇到一種情況,即頂部欄像流行音一樣移動,但視圖顯示。在這種狀態下,我剩下一個後退按鈕,(在正常操作中,我已將該按鈕的文本更改爲「取消」)。按下後會再次對頂部條形進行動畫處理,然後我在頂部條中沒有任何按鈕,並且我被卡在視圖中。pushViewController後跟'後退'按鈕有時不彈出視圖
你知道這裏可能會發生什麼嗎?這裏有一些更多的細節:
副視點稱這些一次或兩次:
[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
[[UIApplication sharedApplication] endIgnoringInteractionEvents];
也子視圖延伸的BaseViewController。在這個基本控制器內部,所有的視圖方法都被重載(它們只是稱爲超級)。這可能是有趣的一個是:
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self customizeNavigationBar];
}
- (void)customizeNavigationBar
{
[self.navigationController.navigationBar setTintColor:UIColorFromRGB(kNavigationBackgroundColor)];
UIBarButtonItem *backButton_ = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"ID_BUTTON_BACK", @"") style:UIBarButtonItemStyleBordered target:self action:nil];
self.navigationItem.backBarButtonItem = backButton_;
[backButton_ release];
}
請讓我還是知道,如果你需要更多的代碼,如果我能更好地解釋事情。
---編輯---- 我也打電話給谷歌分析在視圖中會出現。我記得在我的應用程序這引起其他問題:
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
NSError *error;
if (![[GANTracker sharedTracker] trackPageview:@"/app_new_page"
withError:&error]) { }
}
該代碼被放在我的實際視圖(不BaseViewController)。
您是否試過使用標準後退按鈕而不是定義自己的後退按鈕? – 2012-07-23 11:39:38
可能是導航堆棧已損壞。例如:你在viewDidLoad中推入了另一個視圖控制器 – NeverBe 2012-07-23 14:07:33