看板 MacDev 關於我們 聯絡資訊
卡在一個奇怪的 nav pop 相關問題上面兩天了 不知道這邊有沒有人碰過類似問題 目前的 App 架構大致如下 init / VC_A -> VC_A1 -> VC_A2 Nav -> Tabbar - VC_B Con. Con. \ VC_C \ VC_D 其中,VC_A2 是訂單完成頁面 使用者希望按下 back 按鈕時能夠退回VC_A 頁面 所以用了以下程式碼 -(void)viewWillDisappear:(BOOL)animated{ NSMutableArray *t_vcs = [NSMutableArray arrayWithArray:[self.navigationController viewControllers]]; for (UIViewController *aVC in t_vcs) { if ([aVC isKindOfClass:[UITabBarController class]]) { // NSLog(@"退到這 %@", aVC); [self.navigationController popToViewController:aVC animated:NO]; return; } } } } 可是這樣作有個問題 退回去時,雖然會顯示正確的頁面 但是不包含標題列(Navbar) 標題列此時顯示的是 VC_A1 的標題 必須要再按一次 back 按鈕才會顯示 VC_A 的內容 (Navbar 會有 pop 動作,雖然tabbar畫面不會變動..) 請問有人碰過這問題嗎? 或是知道如何在tabbar 中操作 nav 的 pop 動作嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.20.53
kokuyoku:我之前遇過一樣的問題 解法為重做一個新的back按鈕 04/23 13:18
kokuyoku:viewWillDisappear: 裡盡量不要做畫面切換的動作 04/23 13:19
kokuyoku:原本就要進行畫面返回的動畫 再加一個畫面處理容易出錯 04/23 13:20
Piceman:由於社機師的龜毛,在我能搞出他分不出差別的backbutton 04/23 14:26
Piceman:之前,我可能都只能在 viewwilldisappear 中 hack orz 04/23 14:26