ios - 确定使用了哪个共享扩展

标签 ios cocoa-touch ios8 uiactivityviewcontroller

由于 UIActivityViewController 上的 completionHandler 在 iOS 8 中已弃用,是否有任何方法可以确定用户使用了哪个共享扩展/事件?

最佳答案

您只需要使用新的处理程序UIActivityViewControllerCompletionWithItemsHandler:

typedef void (^UIActivityViewControllerCompletionWithItemsHandler)(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError);

这样调用它:

[yourActivityVC setCompletionWithItemsHandler:^(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError){

}];

此外,如果您想知道选择了什么项目,您只需确保您的事件项目符合 UIActivityItemSource 协议(protocol);

UIActivityItemSource Protocol Documentation

关于ios - 确定使用了哪个共享扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25999553/

相关文章:

用于检查电话号码的 Objective-c 正则表达式

ios - EXC_BAD_ACCESS 使用 UIDocumentInteractionController 将图像发送到 Instagram

ios - NSString 从 UITextView 中的光标位置搜索字符

iOS 11 beta UICollectionViewCell 在接近顶栏时使用 contentInsetAdjustmentBehavior 调整大小

iphone - 在Cocos2d中,如何创建一个layer,我可以设置它的区域大小,并且只显示属于这个区域的children?

iphone - 在 iPhone SDK 中通过短信和电子邮件发送 ASCII Art 时对齐不正确

xcode - NSFetchRequest 返回的 AnyObject 数组在 XCTestCase 中的 Swift XCode 6 Beta 4 中转换时出现 "Swift dynamic cast failed"错误

xcode - 对象不存在时 ABRecordCopyValue 不起作用

ios - 如何停止 Swift 中的 UIView 移动?

objective-c - Objective C iOS 预加载 View