Ios 从popover将UIViewController推送到UINavigationController
我在尝试将新的视图控制器推送到现有导航控制器上时遇到问题 我尝试的是在按下导航按钮时显示Ios 从popover将UIViewController推送到UINavigationController,ios,ios7,uinavigationcontroller,uipopovercontroller,xcode-storyboard,Ios,Ios7,Uinavigationcontroller,Uipopovercontroller,Xcode Storyboard,我在尝试将新的视图控制器推送到现有导航控制器上时遇到问题 我尝试的是在按下导航按钮时显示UIPopoverController,并从“下拉菜单”中选择一个菜单点,将相关的视图控制器推到“主”导航控制器上 我尝试了下面的方法,它给出了一个模态。但我想把视野扩大。 如果选择push而不是modal,结果如下 我还尝试制作一个自定义的UITableViewController(在popover上),并从中尝试了以下代码: -(void) tableView:(UITableView *)tableV
UIPopoverController
,并从“下拉菜单”中选择一个菜单点,将相关的视图控制器推到“主”导航控制器上
我尝试了下面的方法,它给出了一个模态。但我想把视野扩大。
如果选择push而不是modal,结果如下
我还尝试制作一个自定义的UITableViewController
(在popover上),并从中尝试了以下代码:
-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UINavigationController *dash = [storyboard instantiateViewControllerWithIdentifier:@"dash_nav"];
UIViewController *students = [storyboard instantiateViewControllerWithIdentifier:@"students"];
if (indexPath.row == 0) {
[dash pushViewController:students animated:YES];
// [[dash navigationController] presentViewController:students animated:YES completion:nil];
}
NSLog(@"%@", [dash title]);
NSLog(@"index = %i", indexPath.row);
}
有什么方法可以完成我想要完成的任务吗?以下代码:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UINavigationController *dash = [storyboard instantiateViewControllerWithIdentifier:@"dash_nav"];
UIViewController *students = [storyboard instantiateViewControllerWithIdentifier:@"students"];
正在创建太多新实例。您应该使用现有的故事板(self.storyboard
)和现有的导航控制器。导航控制器需要传递给表视图控制器(您应该使用它,因为脚本没有所需的信息)。我们将此属性称为originingNavigationController
,它是表视图控制器上的一个新属性
当segue触发以显示popover时,将导航控制器引用设置到目标视图控制器(表视图)中
然后,在didSelectRowAtIndexPath:
方法中,您只需实例化students
VC并推送它:
UIViewController *students = [self.storyboard instantiateViewControllerWithIdentifier:@"students"];
[self.originatingNavigationController pushViewController:students animated:YES];
然后,表视图控制器应自行关闭(其弹出框)。两件事。。首先,您是如何在故事板中创建这些小桌面视图的?第二,如果你使用master detail,你可以使用replace而不是Push,这正是我所需要的!谢谢