presentViewController与dismiss块

时间:2013-02-20 03:36:13

标签: iphone ios uiviewcontroller

这就是我想要的。 提出一个UIViewController(UITableViewController)并在presentViewController方法中包含一个dismiss块。

这样的事情:

[self presentViewController:vc 
    animated:YES 
    completion:nil 
    onDismiss:^{
        NSLog(@"dismissed")
    }
];

我尝试实现This SO solution,因为它看起来像我需要的东西,但没有弄清楚它应该如何完成。有谁可以提供详细说明吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

澄清评论中的讨论:

在您的ContainerViewController的标题中定义此函数:

-(void)presentViewController:(UIViewController *)viewController animated:(BOOL)animated completion:(void (^)(void))completion dismissCompletion:(dispatch_block_t)dismissCompletion

并按照其余的说明从here

实现ContainerViewController的功能

然后在你的ViewController调用中

[containerViewController presentViewController:presentedViewController animated:YES completion:<whatever> dismissCompletion:<whatever>]

如果你在ContainerViewController中调用它,你可以在self上调用它,如果你在SomeOtherViewController中使用ContainerViewController(CVC)对象在CVC对象上调用它。