Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何弹出“分割视图控制器”;DetailViewController?“;_Iphone - Fatal编程技术网

Iphone 如何弹出“分割视图控制器”;DetailViewController?“;

Iphone 如何弹出“分割视图控制器”;DetailViewController?“;,iphone,Iphone,此代码用于推送到局部视图。当我单击按钮时,如何在详细视图中弹出到另一个视图控制器?它不支持[self.navigationController popViewControllerAnimated:YES]。如何处理这个问题?提前谢谢 woooow这不是在navigationController的堆栈上推送视图控制器的方式 您不必亲自调用视图将消失,视图将出现等等!您也不必将detailViewController添加到splitViewController.viewControllers数组中

此代码用于推送到局部视图。当我单击按钮时,如何在详细视图中弹出到另一个视图控制器?它不支持
[self.navigationController popViewControllerAnimated:YES]。如何处理这个问题?提前谢谢

woooow这不是在navigationController的堆栈上推送视图控制器的方式

您不必亲自调用
视图将消失
视图将出现
等等!您也不必将
detailViewController
添加到
splitViewController.viewControllers
数组中

您需要做的是:

  • 确保您的UISplitViewController在其
    detailViewController
    中包含
    NavigationController
    (即屏幕右侧的ViewController应该是
    UINavigationController
    ,而不是常规的
    UIViewController
  • 其余部分则很简单,因为它的工作方式与任何常规的
    UINavigationController
    相同。您的
    UINavigationController
    UISplitViewController
    的正确部分这一事实与您在任何其他上下文中使用
    UINavigationController
    时没有什么不同

只需使用
UINavigationController
pushViewController:animated:
popViewControllerAnimated:
方法即可推送和弹出视图控制器。从您的
UISplitViewController
访问您的
UINavigationController
,可以使用添加到该控制器的自定义
IBOutlet
,也可以通过访问
(UINavigationController*)[self.splitViewController.viewControllers对象索引:1]

执行什么操作?什么不起作用?我正在将主视图推到详细视图。在详细视图中,不使用pop操作。我想要普通的按钮点击弹出操作,但不支持弹出操作。谢谢你的帮助。我正在将主视图推到详细视图。我想单击详细视图中的按钮,然后执行弹出操作。详细视图不支持pop操作,因为我未使用普通的pushViewController:动画:。因此,寻找一些解决方案。请在NavigationController(其rootViewController将是您的detailView)中添加详细视图,并使用标准推送/弹出方法,这是最简单的解决方案。
     detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController_iPad" bundle:nil];

    [self.splitViewController.splitViewController viewWillDisappear:YES];
    detailViewController.strDetailId = [teaserSectionOneArray objectAtIndex:indexValue] ;
    NSMutableArray *viewControllerArray = [[NSMutableArray alloc] initWithArray:[[self.splitViewController.viewControllers objectAtIndex:1] viewControllers]];
    [viewControllerArray removeAllObjects];
    [viewControllerArray addObject:detailViewController];
    [[self.splitViewController.viewControllers objectAtIndex:1] setViewControllers:viewControllerArray animated:NO];
    [self.splitViewController.splitViewController viewWillAppear:YES];
    [viewControllerArray release];