2012-01-03 37 views
1

我正在學習如何操縱視圖顯示編程,我管理與下面的代碼塊,以顯示我的appDelegate一個新的觀點:創建和刪除UIViews編程

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

UINavigationController *navController = [[UINavigationController alloc] init]; 
loginController = [[LoginController alloc] init]; 
[navController pushViewController:loginController animated:NO]; 
[self.window addSubview:navController.view]; 
[self.window makeKeyAndVisible]; 

return YES; } 

我已經在這個視圖中添加一個按鈕這將刪除當前的視圖,並假定以編程方式顯示一個新的視圖,但是,我只設法刪除視圖並且不顯示新視圖。

我的代碼顯示第二種觀點是:

HomeController *homeView = [[HomeController alloc] init]; 
     [self.window addSubview:homeView.view]; 
     [homeView.view release]; 

請指教。我一直在尋找小時無果,使用切換視圖編程,iPhone瀏覽,removeSuperview ..

基本上我想創建一個簡單的登錄流程,在應用程序開始,我會展示我的第一個視圖(登錄表單),登錄成功後,我要放棄舊觀點,並顯示這是我的主頁第二種觀點。

+0

您有內存泄漏的示例代碼,'loginController'永遠不會釋放。 – 2012-01-03 11:31:04

+0

感謝的人,我會因爲你正在使用的導航控制器從什麼逼人退和獲得主菜單無需登錄停止用戶添加英寸 – 2012-01-04 03:57:18

回答

2

你在正確的軌道與使用UINavigationController上。事實上,你幾乎在那裏。

你已經有兩個視圖控制器 - 一個登錄頁面,以及一個用於主頁。在didFinishLaunchingWithOptions:中,將兩個控制器都推到UINavigationController的堆棧上:首先是「home」控制器,然後是「登錄」控制器。一旦登錄控制器檢測到登錄成功,請致電popViewControllerAnimated:popToRootViewControllerAnimated:以進入主頁。

+0

? – 2012-01-03 11:34:06

+0

@JoãoPortela好點!你需要[隱藏「後退」按鈕](http://stackoverflow.com/questions/1453519/how-to-hide-the-back-button-in-uinavigationcontroller)。 – dasblinkenlight 2012-01-03 11:41:20

+0

謝謝,我的工作遵循@dasblinkenlight的建議! – 2012-01-04 08:47:29