Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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
Ios 无法在UIPopoverController中显示视图控制器_Ios_Uipopovercontroller - Fatal编程技术网

Ios 无法在UIPopoverController中显示视图控制器

Ios 无法在UIPopoverController中显示视图控制器,ios,uipopovercontroller,Ios,Uipopovercontroller,我在一个导航控制器中嵌入了多个容器视图。现在我尝试使用UIPopoverController来显示视图。此视图以前已呈现给用户-它位于嵌入导航控制器的容器视图中。如果我尝试在popover中再次呈现视图,我会 应用程序试图以模态方式呈现活动控制器 但是视图不是活动的。它只在导航控制器堆栈中的某个位置。这是否意味着每个视图只能呈现一次 编辑: 此问题的结构如下所示: 查看控制器>容器A VC1、VC2、VC3>容器B VC2、VC4 现在,在容器B上,VC3应显示为弹出窗口。在容器B中的VC2上引

我在一个导航控制器中嵌入了多个容器视图。现在我尝试使用UIPopoverController来显示视图。此视图以前已呈现给用户-它位于嵌入导航控制器的容器视图中。如果我尝试在popover中再次呈现视图,我会

应用程序试图以模态方式呈现活动控制器

但是视图不是活动的。它只在导航控制器堆栈中的某个位置。这是否意味着每个视图只能呈现一次

编辑:

此问题的结构如下所示:

查看控制器>容器A VC1、VC2、VC3>容器B VC2、VC4

现在,在容器B上,VC3应显示为弹出窗口。在容器B中的VC2上引发事件C事件。容器B应该显示弹出窗口->应用程序崩溃,我收到上面的错误消息


现在我尝试直接从VC2显示弹出窗口。这似乎奏效了。这可能是一个问题,因为我重用了容器B中的popover实例。我将对此进行检查。

现在,我在容器B中创建了一个新的UIPopoOvercontroller实例,在该实例中捕获事件。它按预期工作,不再崩溃


仍然不知道为什么不能将popover与contentViewController一起重用。还是因为我正在使用presentPopoverFromRect和另一次presentPopoverFromBarButtonItem?

在这种情况下,导航控制器是合适的数据保持器吗?听起来您没有使用视图控制器执行任何导航任务。我正在从一个容器导航到下一个容器。到目前为止,除了超控器这件事,我明白了。VC是否有可能拥有自己的视图实例,这样您就不必重用它?这两个容器中的每一个都在其构造函数中实例化子视图控制器。应该有两个单独的实例。我不知道这种重用应该从何而来。