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 在一个视图控制器和UAModalPanel之间保留视图_Iphone_Ios_Objective C_Ipad_View - Fatal编程技术网

Iphone 在一个视图控制器和UAModalPanel之间保留视图

Iphone 在一个视图控制器和UAModalPanel之间保留视图,iphone,ios,objective-c,ipad,view,Iphone,Ios,Objective C,Ipad,View,我有两个视图控制器,分别命名为firstvc,secondvc。我在firstvc中有一个子视图,它看起来像一个有文本字段的表单。在firstvc中有一个按钮可最大化该子视图 当我点击该按钮时,我将该子视图添加到secondvc,并在UAModalPanel中显示secondvc视图。如果我关闭该secondvc,firstvc。我的问题是无法保留该子视图。这意味着当我关闭secondvc时,firstvc子视图将消失 您能建议如何在两个视图控制器之间保留该子视图吗 -(IBAction)max

我有两个视图控制器,分别命名为
firstvc
secondvc
。我在
firstvc
中有一个子视图,它看起来像一个有文本字段的表单。在
firstvc
中有一个按钮可最大化该子视图

当我点击该按钮时,我将该子视图添加到
secondvc
,并在
UAModalPanel
中显示
secondvc
视图。如果我关闭该
secondvc
firstvc
。我的问题是无法保留该子视图。这意味着当我关闭
secondvc
时,
firstvc
子视图将消失

您能建议如何在两个视图控制器之间保留该子视图吗

-(IBAction)maximize:(id)sender
{
    UIViewController *newview   = [self.storyboard instantiateViewControllerWithIdentifier:@"second"];


    [newview.view addSubview:subview];

    UAModalPanel  *modalpanelobject = [[UAModalPanel alloc]initWithFrame:self.view.bounds];    

    [modalpanelobject.contentView addSubview:newview.view];

    [self.view addSubview:modalpanelobject];


    [modalpanelobject showFromPoint:self.view.center];

}
我是后面的开发者。面板不会干扰未添加到
contentView
的视图的视图层次结构,因此即使没有它,这个问题也可能存在。我将对第一个控制器的视图进行子类化,并在
dealloc
removeFromSuperview
方法中放置一个断点,以查看删除视图的内容、时间和原因, 这个概念是 你可以考虑三种观点。

  • 子视图(在您的案例中为滚动视图)

  • 父视图1(网格单元)

  • 父视图2(“最大化视图”)

  • 你正在做的是什么时候

    1.您正在最大化子视图

    此时,您正在将子视图从网格单元转换为最大化视图。

    2.现在,当您关闭最大化视图时,情况正好相反

    正确:此时您应该将子视图从最大化视图转到网格单元。

    为此,在网格单元中找不到子视图


    致以最诚挚的问候。

    您能否发布用于显示/关闭
    第二个VC
    的代码,以及将子视图添加到
    第一个VC
    的方式?嘿,我添加了最大化代码,对于关闭模式面板视图,它提供了自动关闭按钮。我有一个单独的scrollview插座,因此,无需从网格单元格中获取,我也可以将其添加到最大化视图或网格单元格中。我也这样做了,但它仍然不起作用。嘿,当您关闭最大化视图时,您正在重新加载网格,很好?在重新加载时,我想您正在将滚动视图添加到网格单元格中?今天再见…m这就是我的想法,否则,感谢您的认真努力。我保留了scrollview outlet的属性,因此在重新加载时。我只是将scrollview添加到单元格内容视图中,而没有从最大化视图中获取。问题是没有获取模式面板,如果我呈现secondvc,它工作正常。如果我给模式面板,它不会保留。我想告诉你的一件事是,我保留了手动关闭按钮以隐藏模式面板,当我回来时,视图并没有重新加载,但当我再次单击“最大化”按钮时,它将与子视图一起出现。我认为在我隐藏子视图时,模态面板并没有释放该子视图。这与此有任何关系吗?-“如果我将模态面板呈现给第二个VC,则该子视图工作正常。如果我将其提供给模态面板,则该子视图没有保留。”-这是正确的,它为什么要保留它?如果您有兴趣保留它,您的呼叫控制器应该保留它。但是,如果我是你,我不会在控制器之间传递视图,而是重新创建或复制它。如果我重新创建视图,我必须维护视图中存在的这么多插座和代理。这就是我为什么要这样做的原因。我怀疑,如果我在编辑任何字段时复制该视图,数据是否会被复制?你能建议我怎么做吗。否则,我认为如果我释放模态面板对象,它将重新加载。但我在iOS5中这样做,所以一旦我隐藏了模态面板,如何释放它?嘿,我终于解决了!!!!我所做的是我有一个视图,它的子视图是scrollview。整个视图的目的是添加到单元格内容视图。因此,当我最大化它时,我将scrollview设置为最大化视图。当我隐藏模型面板时,我只是将scrollview插座添加为[view addSubView:scrollview]就是这样。而该视图是如何添加到单元格内容视图中的。因此,即使不重新加载网格视图,它也可以工作。。。