我正在使用一个正常工作的presentViewController,见下文:
当presentViewController完全关闭或按下完成/返回按钮时,我需要运行一个代码(让我们说一个警告"我关闭")。
我不想使用完成块,因为这会在打开presentViewController后直接触发。我基本上需要能够在关闭或解除presentViewController之后运行一些代码。
代码:
QLPreviewController* myPopup = [[QLPreviewController alloc] init];
myPopup.delegate = weakSelf;
myPopup.dataSource = weakSelf;
UIViewController* root = [[[UIApplication sharedApplication] keyWindow] rootViewController];
[root myPopup animated:YES completion:nil ];
//here put alert when it's closed or dismissed
有人可以帮忙吗?
答案 0 :(得分:1)
完成块不起作用,因为延迟是短路的?尝试将dispatch_after放入完成块并设置所需的延迟。
您可以在http://soulwithmobiletechnology.blogspot.co.uk/2012/07/tutorial-how-to-use-qlpreviewcontroller.html
检查代码示例不久:
QLPreviewController *previewController=[[QLPreviewController alloc]init];
previewController.delegate=self;
previewController.dataSource=self;
[self presentModalViewController:previewController animated:YES];
和委托:
- (void)previewControllerDidDismiss:(QLPreviewController *)controller {
// display alert
}