1

私は3つのビュー/タブを持つTabBarControllerを持っています...1つのタブで私はUITableViewを持っています。ユーザーがセルをクリックして詳細ビューに切り替えたら、今すぐ欲しい...私はすでにこのコードでそれを試しました:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
DetailViewController *nextController = [self.storyboard instantiateViewControllerWithIdentifier:@"detailView"];

[self.navigationController pushViewController:nextController animated:YES];

}

しかし、それは機能します...何かアイデアはありますか?!

4

2 に答える 2

1

テーブルビューコントローラーをナビゲーションコントローラーに埋め込む必要があります

于 2012-09-19T12:40:44.570 に答える
0

ナビゲーション コントローラーを使用する場合は、次のようにします。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//for home tab.. u want to add navigation controller 
YourTableViewController *objviewController = [[[YourTableViewController alloc] initWithNibName:@"YourTableViewController_iPhone" bundle:nil] autorelease];
UINavigationController *navCtrl = [[UINavigationController alloc] initRootViewController:objviewController]; 

//for tab2...
YourSecondViewController *objYourSecondViewController =  [[[YourTableViewController alloc] initWithNibName:@"YourSecondViewController_iPhone" bundle:nil] autorelease];

//for  tab3...
YourThirdViewController *objYourThirdViewController =  [[[YourThirdViewController alloc] initWithNibName:@"YourThirdViewController_iPhone" bundle:nil] autorelease];

self.tabBarController = [[[UITabBarController alloc] init] autorelease];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:navCtrl,objYourSecondViewController,objYourThirdViewController,nil];

self.window.rootViewController=self.tabBarController;
  [self.window makeKeyAndVisible];
return YES;

}


ただし、ナビゲーションコントローラーが必要ない場合は、次のように追加することもできます。

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
  DetailViewController *nextController = [self.storyboard instantiateViewControllerWithIdentifier:@"detailView"];

  [self.view addSubView:nextController];
}
于 2012-09-19T12:56:06.803 に答える