首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIActivityViewController completionHandler替换

UIActivityViewController completionHandler替换
EN

Stack Overflow用户
提问于 2014-09-29 11:22:41
回答 2查看 3.2K关注 0票数 2

我正在使用UIActivityController,最近我了解到completionHandler在ios8上被废弃了

有人能解释一下这个变化吗,使用completeionHandler是一个糟糕的设计吗?还有其他方法来实现这个功能吗?

对我来说,知道UIActivityViewController何时关闭至关重要,因为我想在iphone之后显示另一个弹出窗口,在iphone中打开一个新的弹出窗口,而之前的弹出仍然是打开的,结果会导致拥挤。我想我可以在调用activityDidFinish之前在我的自定义活动中设置一个定时器,并假设1秒后打开一个弹出窗口是安全的,但这显然是错误的工作方式。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-30 07:53:18

Se this tdevoy的答案

只需使用新的处理程序UIActivityViewControllerCompletionWithItemsHandler即可。

代码语言:javascript
复制
typedef void (^UIActivityViewControllerCompletionWithItemsHandler)(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError);
票数 1
EN

Stack Overflow用户

发布于 2014-09-29 13:05:00

如果使用的是自定义UIActivity,则只需将代码放在UIActivity activityDidFinish中即可。

沿着这些路线的另一个选项是创建要执行的活动的子类,并覆盖activityDidFinish方法,调用[super activityDidFinish],然后执行自定义操作。

第三个(更棘手的)选项(不接触UIActivity )是创建一个UIActivityViewController子类并覆盖viewWillDisappear方法,但是您需要一些逻辑来确定是否执行了某个活动,或者用户是否只是取消了该活动。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26098724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档