這裏是代碼中的相關行: ...的UINavigationController推動UIViewController中並沒有任何反應
if([top class] == [SitesViewController class]){
BackupsViewController *backup = [[BackupsViewController alloc] initWithStyle:UITableViewStyleGrouped andID:cg_id];
[websites pushViewController:backup animated:NO];
[websites pushViewController:details_controller animated:YES];
網站是一個導航控制器,它不是零。
現在我第一次運行它,它工作正常。但是,如果我退出並重新登錄,則不起作用。事實上,沒有任何反應。它保持在同一頁面上。我已經檢查過,以確保沒有零。我也知道,如果我沒有其他聲明,我正在進入這個聲明。
這裏是註銷功能:
AppDelegate * appDelegate = (GCAppDelegate*)[[UIApplication sharedApplication] delegate];
[appDelegate.tabBarController setSelectedIndex:0]
UINavigationController * topViewController = appDelegate.tabBarController.viewControllers[0];
[topViewController presentViewController:loginScreen animated:YES completion:nil];
[topViewController popToRootViewControllerAnimated:TRUE];
[self deteleKeysAndTokens: (NSString*)k_apiSecret withAccessToken: (NSString*)k_accessToken withAccessSecret:(NSString*) k_accessSecret withkAPIKey: (NSString*)k_apiKey];
在情況下,它可能會幫助時,backupViewController是下載的網站列表,並detailsViewcontroller越來越關於網站的信息。事實上,進行調用後:
[websites pushViewController:backup animated:NO];
[websites pushViewController:details_controller
animated:YES];
(這是我貼的代碼中的第一位。) 我檢查,看看有什麼topViewController是:
UIViewController * topView = websites.topViewController;
的topViewController是details_controller 。所以我知道它被推入堆棧。但是,什麼都沒有發生。我的觀點與我的觀點一致。我在想,也許是因爲我沒有得到所有的數據。但是這並不能解釋(a)爲什麼它第一次通過和(b)它爲什麼不顯示空白頁。
問題是tabbar控制器在我的nosie下面改變;因此沒有發生。但是爲什麼呈現視圖控制器然後彈出到根目錄不好呢? – user678392
它什麼都不做。你提供了新的控制器來堆棧,然後你做的下一件事就是把所有東西都扔出堆棧。首先放在根上。無論如何,如果你想動畫他們兩人至少執行完整塊的第二個動作。 – tadasz