2013-10-11 75 views
1

我有3個UIViewControllers,我希望能夠過渡和前進,但沒有任何特定的順序與任何類型的navigationcontroller。沒有導航控制器的UIViewControllers之間的轉換

到目前爲止,我已經在我的委託中設置了一個方法,我可以記住如果應用程序已從mutitask欄中的內存中刪除,我最後一次查看哪個視圖。

它看起來像這樣

if (([projectListBoolString isEqualToString:@"T"]) && ([installsBoolString isEqualToString:@"F"]) && ([finishinBoolString isEqualToString:@"F"])) { 
     self.getProjectListViewController = [[GetProjectListViewController alloc] initWithNibName:@"GetProjectListViewController" bundle:nil]; 
     self.window.rootViewController = self.getProjectListViewController; 
     [self.window makeKeyAndVisible]; 
    } 
    else if (([projectListBoolString isEqualToString:@"T"]) && ([installsBoolString isEqualToString:@"T"]) && ([finishinBoolString isEqualToString:@"T"])) { 
     self.currentProjectListViewController = [[CurrentProjectListViewController alloc] initWithNibName:@"CurrentProjectListViewController" bundle:nil]; 
     self.window.rootViewController = self.currentProjectListViewController; 
     [self.window makeKeyAndVisible]; 
    } 
    else { 
     self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 
     self.window.rootViewController = self.viewController; 
     [self.window makeKeyAndVisible]; 
    } 

;誰當我的應用程序,我想知道如何從一個觀點跳到花葯確保只有1個觀點是曾經在記憶/加載。

任何幫助將不勝感激。

+0

檢查RootViewController的類。例如:'if([self.window.rootViewController isKindOfClass:[CurrentProjectListViewController class]]){// Your Code}' – Roshit

+0

@Roshit我不確定你的意思?你認爲我可以在UIViewController中按下按鈕時使用類似的代碼嗎?如果是這樣的話,我如何從memeory中刪除舊視圖? – HurkNburkS

回答

1
if(getProjectListViewController == nil) 
    getProjectListViewController = new GetProjectListViewController(); 
if(viewController.view.superview!=nil){ 
    viewController.view.removefromSuperView(); 
    window.addsubview(getProjectListViewController.view); 
} else { 
    getProjectListViewController.view.removeFromSuperView(); 
    window.addsubview(viewController.view); 
} 

爲兩個以上的視圖添加if/else-if語句。如果您仍然覺得更容易,您還可以繼續使用不帶界面組件的navController - 您可以使用隱藏屬性。

相關問題