in appDelegate create a navigationcontroller like this i am posting sample code
HomeScreen *homeScreenObject=[[HomeScreen alloc] initWithNibName:@"HomeScreen" bundle:nil];
self.navController =[[UINavigationController alloc] initWithRootViewController:homeScreenObject];
[homeScreenObject release];
[window addSubview:[navController view]];
// Override point for customization after application launch
[window makeKeyAndVisible];
navController is instance Variable declared in header file
UINavigationController *navController;
now on your firstviewcontroller create a IBAction and bound your button's touch down event with that action and use these lines in that method
ViewController *ViewControllerObject = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
[self.navigationController pushViewController:ViewControllerObject animated:YES];
[ViewControllerObject release];
so the viewController should have a tableView and on tableView's delegate method "didSelectRowAtIndexPath" use the above code for further navigation