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

时间:2013-01-17 11:55:03

标签: iphone ios objective-c ipad view

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

当我点击它时,我将该子视图添加到secondvc,并在secondvc中呈现UAModalPanel视图。如果我关闭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];

}

2 个答案:

答案 0 :(得分:0)

我是UAModalPanel背后的开发人员。该面板不会弄乱未添加到contentView的视图的视图层次结构,因此即使没有它,此问题也可能存在。我将子类化第一个控制器的视图,并在deallocremoveFromSuperview方法中放置一个断点,以查看删除视图的内容,时间和原因。

答案 1 :(得分:0)

看, 这个概念是 你可以考虑三种观点。

  1. 子视图(在您的情况下为ScrollView)

  2. 父视图1(GridCell)

  3. 父视图2('最大化视图)

  4. 你在做什么是

    1.您正在最大化儿童观点

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

    2.当你关闭Maxized View时,现在反过来。

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

    为此,您无法在网格单元格中找到您的子视图。

    最诚挚的问候。