ナビゲーション用に NavigationController を埋め込んだ 1 つの ViewController に UISegmentControl があります。その UISegmentControl には、3 つの UITableViewController を切り替える 3 つのセグメントがあります。これらの UITableViewControllers は、あるセグメントから別のセグメントに切り替えるときにサブビューに表示されます。私がやりたいのは、ユーザーがセルをタップしたとき、そのビューで同じものに対して DetailViewController を明らかにしたいということです。
UISegmentControl を切り替えるコードは次のとおりです -
-(IBAction)valueChanged:(id)sender{
segmentControl=(UISegmentedControl*)sender;
if (segmentControl.selectedSegmentIndex==1) {
firstView = [self.storyboard instantiateViewControllerWithIdentifier:@"FirstTopViewController"];
[self.view addSubview:firstView.view];
NSLog(@"1");
}
}
FirstTopViewController.m で -
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
DetailViewController *detailView = [self.storyboard instantiateViewControllerWithIdentifier:@"DetailViewController"];
FirstViewController *firstView = [self.storyboard instantiateViewControllerWithIdentifier:@"FirstViewController"];
detailView.detail = [self.jobsArrayFromAFNetworking objectAtIndex:indexPath.row];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:firstView];
[self.view addSubview:nav.view];
[nav pushViewController:jobDetailView animated:YES];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
UINavigationController が表示されますが、UITableViewController と同じサブビューにあり、任意のセグメントをスクロールまたはタップしようとするとすぐにクラッシュします。どうすればナビゲーションを適切に達成できますか? どんな助けでも大歓迎です。