I've read a lot of similar questions, and I cannot figure out why the view is not working.. I've spent four hours on this, so I thought it time to ask for help.
My main VC code is a UITableView with this method at didSelectRowAtIndexPath:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"%s", __FUNCTION__);
svc = [[SubViewController alloc] initWithNibName:@"SubView" bundle:nil];
//UINavigationController *nc = [[UINavigationController alloc] init];
switch (indexPath.section) {
case 0 :
switch (indexPath.row) {
case 0 :
NSLog(@"0");
svc.label.text = @"Item";
break;
case 1:
NSLog(@"1");
svc.label.text = @"Category";
break;
}
break;
NSLog(@"2");
case 1 : svc.title = @"Second Cell"; break;
case 2 : svc.title = @"Third Cell"; break;
case 3 : svc.title = @"Image"; break;
case 4 : svc.title = @"Notes"; break;
NSLog(@"3");
break;
}
NSLog(@"4");
//svc = [[SubViewController alloc] init];
NSLog(@"svc is %@", svc);
UINavigationController *nc = [[UINavigationController alloc] initWithNibName:@"SubView" bundle:nil];
//initWithRootViewController:svc];
[nc pushViewController:svc animated:YES];
NSLog(@"self.navigation is as %@",nc);
NSLog(@"5");
[tableView deselectRowAtIndexPath:indexPath animated:NO];
}
You can see whatI've tried too. The output log shows this:
2013-02-12 13:32:22.858 CollapsableTableView[35122:c07] -[ViewController tableView:didSelectRowAtIndexPath:]
2013-02-12 13:32:22.859 CollapsableTableView[35122:c07] -[SubViewController initWithNibName:bundle:]
2013-02-12 13:32:22.860 CollapsableTableView[35122:c07] wtf
2013-02-12 13:32:22.860 CollapsableTableView[35122:c07] 0
2013-02-12 13:32:22.860 CollapsableTableView[35122:c07] 4
2013-02-12 13:32:22.861 CollapsableTableView[35122:c07] svc is <SubViewController: 0x10363070>
2013-02-12 13:32:22.863 CollapsableTableView[35122:c07] self.navigation is as <UINavigationController: 0x101608b0>
2013-02-12 13:32:22.863 CollapsableTableView[35122:c07] 5
So the SubView is being found, but not loading.. Any ideas will be valued. Thanks
UPDATE. After taking comments (THANKS:)) my code now looks like this, but still nada...
svc = [[SubViewController alloc] initWithNibName:@"SubView" bundle:nil];
UINavigationController *nc = self.navigationController;
switch (indexPath.section) {
case 0 :
switch (indexPath.row) {
case 0 :
NSLog(@"0");
svc.label.text = @"Item";
break;
case 1:
NSLog(@"1");
svc.label.text = @"Category";
break;
}
break;
NSLog(@"2");
case 1 : svc.title = @"Second Cell"; break;
case 2 : svc.title = @"Third Cell"; break;
case 3 : svc.title = @"Image"; break;
case 4 : svc.title = @"Notes"; break;
NSLog(@"3");
break;
}
NSLog(@"4");
//svc = [[SubViewController alloc] init];
NSLog(@"svc is %@", svc);
[nc pushViewController:svc animated:YES];
//pushViewController:svc animated:YES];
NSLog(@"self.navigation is %@",nc);
NSLog(@"5");
before creating this view add a navigation controller (APP DELEGATE)or such. then make this view the root for the navigation controller.
Finally. self.navigationController pushViewController:(UIViewController*) animated:(BOOL)
I think this will do the trick.
If you are not sure on how to add a navigation controller then search for init with root view controller for navigation controller.
But if your point is adding a new view controller here then you are correct just forgot to add as the subview to the main view.