2012-12-16 129 views
0

我有一個uitabbarcontroller設置爲窗口的根視圖。 Tabbar中的一個選項卡被設置爲uitableviewcontroller的子類。我正在試圖做的是顯示詳細信息視圖時,其中一列被感動了,我實現iOS推視圖控制器不工作

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 

if (!detailViewController) {   
detailViewController = [[ItemDetailViewController alloc] init]; 

} 
[detailViewController setEditingArray: 
[list objectAtIndex:[indexPath row]]]; 
[[self navigationController] pushViewController:detailViewController animated:YES]; 

} 

我的表控制器,但是當我選擇該行,我的DetailView不會流行。我添加nslog以查看該函數是否觸發 - 它確實如此,但我的detailview仍然不顯示。有任何想法嗎? 謝謝。

回答

1

tableViewController應放置在NavigationController內。 我想你在標籤欄內創建了tableView

TableViewControllerSubclass* table = [[TableViewControllerSubclass alloc] init]; 

UINavigationController* tableNav = [[UINavigationController alloc] initWithRootViewController:table]; 

mainController = [[UITabBarController alloc] init]; 
mainController.viewControllers = [NSArray arrayWithObjects:tableNav,..., nil]; 
+0

感謝您的摘錄。 – user1907172

1

您沒有導航控制器([self navigationController]正在返回nil)。不要將表視圖控制器作爲選項卡的根,請將選項卡的根設爲包含表視圖控制器的導航控制器。您現在可以從表格視圖控制器中推送詳細控制器。

+0

就是這樣!謝謝。 – user1907172