代码之家  ›  专栏  ›  技术社区  ›  k-thorat

使用多个ModalViewController

  •  1
  • k-thorat  · 技术社区  · 14 年前

    [self presentModalViewController:ViewControllerA animated:YES];//Working fine
    //Inside viewControllerA call viewControllerB
    [self presentModalViewController:ViewControllerB animated:YES];//Working fine
    //Dismiss both the Controllers. and present View
    

    C级

    我试过了。

    1. 在显示ViewControllerB//之前取消viewControllerA,后者直接转到视图C
    2. 取消viewControllerB中的viewControllerA//没有结果。
    3. 在viewControllerB中取消两个viewcontroller//仍然显示viewcontrollera

    天哪…真让人困惑。。

    2 回复  |  直到 14 年前
        1
  •  1
  •   tc.    14 年前

    self 两次,当他们可能提到不同的东西)。我假设你想做的是(有效地)这样:

    [viewController presentModalViewController:viewControllerA animated:YES];
    // time passes...
    [viewControllerA presentModalViewController:viewControllerB animated:YES];
    // time passes
    ... do something to dismiss both controllers ...
    

    [viewControllerA dismissModalViewController:NO];
    [viewController dismissModalViewController:NO];
    

    我不知道你所说的“在”或“在”是什么意思;你“在”哪一个班级并不重要。但通常,视图控制器负责其子对象。通常,父对象将自己设置为子对象的委托。当孩子“完成”后,它会向家长发送一条消息;家长负责解雇孩子。UIKit的预打包视图控制器(UIImagePickerController/MFMailComposeViewController/MFMessageComposeViewController)都遵循此模式。

        2
  •  0
  •   k-thorat    14 年前

    ///视图加载

    //内部视图控制器A [自我解散]拉尼马特:没有];

    //内部视图控制器B [自我解散]拉尼马特:没有];