2011-06-16 74 views
-2

在我的應用程序中,我的第一頁是UITableviewController。然後,我在UIViewcontroller像添加subViewUINavigation Controller子視圖問題

viewcontrollername * prod=[[viewcontrollername alloc]init]; 
[self.view addSubview:prod.view]; 

這很好,但我的問題是在UINavigation控制器viewcontroller頁面無法正常工作(不導航至另一頁)。我在單擊事件實現它:

prod *login=[[prod alloc]init]; 
UINavigationController *navCtrl= [[UINavigationController alloc] init]; 
[navCtrl pushViewController:login animated:YES]; 
[login release]; 

而且

prod *login=[[prod alloc]init]; 
[self.navigationController pushViewController:login animated:YES]; 
[login release]; 

但它並不導航到另一個頁面。

+0

而問題是什麼? – marzapower 2011-06-16 08:02:16

+0

@marzapower UINavigation控制器不能在子視圖中工作 – Rams 2011-06-16 08:24:34

+0

你的意思是不工作?你有錯誤嗎?例外?你無法看到任何東西嗎?什麼? – marzapower 2011-06-16 12:00:04

回答

0

使用此代碼時,你初始化導航控制器:

UINavigationController *navigationCtrlSlideShowSetting = [[UINavigationController alloc] initWithRootViewController:yourviewcontroller]; 

感謝

+0

此代碼工作但返回按鈕不可見 – Rams 2011-06-16 07:31:03

+0

在viewwillappear中添加自定義後退按鈕和事件。 – 2011-06-16 07:35:38

0

它看起來像navCtrl尚未被添加到視圖層次結構。您可以將其作爲子視圖添加到window或將其設置爲rootViewController

0

您的第一個視圖控制器應該是導航控制器的根視圖控制器。

initWithRootViewController

另外,您可以在新創建的導航控制器添加到您的視圖 - 控制。

[self.view addSubview:navCtrl.view]; 

完成此操作後,您可以將視圖控制器推送到導航控制器。

編輯: 您需要有一個後退按鈕,以防您無法返回主屏幕。更好的選擇是在主屏幕上使用導航控制器並繼續將視圖推送到堆棧。

+0

此代碼工作,但返回按鈕不可見 – Rams 2011-06-16 07:27:03

+0

這是因爲登錄屏幕成爲導航控件的第一個視圖,並且沒有更多視圖。在這種情況下,您可以在視圖加載方法中創建自定義後退按鈕。它是一種不同的方法。我會嘗試編輯我的帖子以適應此。 – 2011-06-16 07:51:06