2010-08-04 97 views
0

我有一個導航欄的標籤欄應用程序。對於其中一個操作,我以編程方式實例化導航控制器並添加一個帶有tableview的視圖。我想刪除這個導航欄和tableview,以編程方式點擊新導航欄上的一個按鈕。這個怎麼做 ?如何刪除導航控制器與視圖

我試過popview,但沒有彈出。

+0

我不明白你的問題。你的意思是你有一個按鈕,你想要當用戶點擊它,你刪除導航欄 – vodkhang 2010-08-04 05:16:20

+0

是的。點擊導航欄上的按鈕,應該刪除桌面視圖和導航欄。 – thndrkiss 2010-08-04 05:21:16

回答

0

隱藏它

[[self navigationController] setNavigationBarHidden:YES]; 

如果已經添加一個UINavigationController另一個UIViewController的頂部,然後從uiNaviagation控制器,您將無法即使你刪除了當前視圖刪除導航欄,和所有的子視圖。 (父UIViewController中也得到了導航欄)

一種方式來解決這個問題是,訪問應用程序的委託,和 之前從窗口頂部視圖中添加的UINavigationController

AppDelegate *dg = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
NSArray *ar = [[dg window] subviews]; 
//then remove all the views in ar 
//then add uinavcontroller 
[[dg window] addSubView:[uinavcontroller view]]; 

然後添加UINavigationController的,當你想用第一個UiViewController替換UInavigationcontroller。做類似上面的步驟。

相關問題