簡體   English   中英

PushViewController什么都不做

[英]PushViewController doesn't do anything

這是我第一次嘗試使用UINavigationController實現從tableView單元格到另一個tableView的導航,這對我不起作用。 我沒有使用nib文件,我有一個簡單的tableView,可以在應用程序的模式對話框中顯示它,它可以正常工作,現在我在其中一個單元格中添加了displayInidcator,以使用戶能夠從固定選項中進行選擇另一個列表(tableView)中可用的選項數。 為此目的,我還有另一個使第二個tableView的類。 現在的問題是,從第一個表格視圖中的單元格(包含公開圖標)導航到第二個表格視圖沒有任何作用,沒有錯誤,沒有任何反應。 我想我設置導航控制器的方式是錯誤的,代碼沒有落在委托中,或者根本沒有第二類的數據源。

在方法:didSelectRowAtIndexPath中的第一個TableView中,我嘗試捕獲該行,然后像這樣調用第二個tableView:

 mySecondViewController *secondVC = [[[mySecondViewController alloc] initWithStyle:UITableViewStyleGrouped ]    autorelease];
  UINavigationController *navCont = [[UINavigationController alloc] initWithRootViewController: self];//not sure the first controller should act as the root controller?
 [navCont  pushViewController:secondVC animated:YES]; //it does nothing, no error,...

第二個tableViewcontroller類包含所有委托和數據源方法以及初始化方法:

 - (id)initWithStyle:(UITableViewStyle)style 
 {
     if ((self = [super initWithStyle:style])) {

    }
    return self;
 }

  and declared in interface as:
 @interface stockOptionViewController : UITableViewController {

}

我試圖玩viewDidLoad,但沒有幫助。

請幫我,因為我一無所知,發現的所有示例代碼均基於使用nib文件。

謝謝錦

您的導航控制器應該是應用程序委托窗口的根視圖控制器,而第一個視圖控制器應該是導航控制器的根視圖控制器,然后您可以將新的控制器推送到它。

請參閱UINavigationControlle r的文檔。

目前,您正在創建導航控制器,但沒有將其放置在任何地方,因此,要求它推送新的視圖控制器是沒有意義的。 您擁有正確的代碼,只是順序不正確。

UINavigationController應該是根視圖控制器。 在當前代碼中, navCont不在視圖堆棧中,因此它將無法正常工作。 代替將myFirstViewControllermyFirstViewController您的myFirstViewController中,將UINavigationController推送到堆棧並將myFirstViewController添加為其根視圖控制器。

您可以模態呈現視圖控件而無需導航控制器

mySecondViewController *secondVC = [[[mySecondViewController alloc] initWithStyle:UITableViewStyleGrouped ]    autorelease];
[self presentModalViewController:secondVC animated:YES];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM