ios - 当 presentViewController 关闭时不起作用
Posted
技术标签:
【中文标题】ios - 当 presentViewController 关闭时不起作用【英文标题】:ios - when presentViewController is closed not working 【发布时间】:2015-03-06 11:15:53 【问题描述】:我正在使用运行良好的 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
有人可以帮忙吗?
【问题讨论】:
【参考方案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
【讨论】:
我也这样做了,但是完成块内的任何内容都会在打开 QLPreviewController 时触发。单击完成按钮并关闭 QLPreviewController 后,我需要显示警报 如果 QLPreviewController 会在按下完成按钮后立即委托呈现视图控制器/视图将消失/关闭调用完成块? 可能是一个解决方案,但我不确定我知道如何做/实施它 QLPreviewController 已经有代表 previewControllerWillDismiss: 和 previewControllerDidDismiss: 。你只需要处理它们 我真的很抱歉我的无知,但我是ios开发的新手。在哪里可以找到您的提案示例?以上是关于ios - 当 presentViewController 关闭时不起作用的主要内容,如果未能解决你的问题,请参考以下文章
当 SDK 目标为 iOS7 时,UIAlertView 太记账,无法在 iOS8 中替换
ios - 当 presentViewController 关闭时不起作用