简体   繁体   中英

How can I push a new viewController into an existing view within another view controller?

Is it possible to push a new viewController into an existing view within another view controller?

Here is my setup to begin with:

在此输入图像描述

You can see that I have a UITableView. When a cell is tapped, a new view controller is pushed using this code;

DetailTableViewController *viewcontroller = [[DetailTableViewController alloc] initWithStyle:UITableViewStyleGrouped];
viewcontroller.item = (MWFeedItem *)[itemsToDisplay objectAtIndex:indexPath.row];
[self presentViewController:viewcontroller animated:YES completion:nil];
[viewcontroller release];  

Unfortunately this looks like this though and sits on top of the bar at the top saying "Will Roberts"

在此输入图像描述

Why is this happening as it's clearly outside of the view I set it to be pushed from...

Instead of "presentViewController", use

DetailTableViewController *viewcontroller = [[DetailTableViewController alloc] initWithStyle:UITableViewStyleGrouped];
viewcontroller.item = (MWFeedItem *)[itemsToDisplay objectAtIndex:indexPath.row];
[self.navigationController pushViewController:viewcontroller animated:YES];
[viewcontroller release];

or use modal view controller

[self presentModalViewController:viewcontroller animated:YES]

//Presenting new view controller with navigation controller will help you.

DetailTableViewController *viewcontroller = [[DetailTableViewController alloc] initWithStyle:UITableViewStyleGrouped];
viewcontroller.item = (MWFeedItem *)[itemsToDisplay objectAtIndex:indexPath.row];
[self.navigationController presentViewController:viewcontroller animated:YES completion:nil];
[viewcontroller release]; 

//Edited

DetailTableViewController *viewcontroller = [[DetailTableViewController alloc] initWithStyle:UITableViewStyleGrouped];

UINavigationController *nav1=[[UINavigationController alloc]initWithRootViewController:viewController1];

[self presentModalViewController:nav1 animated:YES];

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM