IOSswift如何知道activityViewController何时被成功使用
IOS swift how to know when activityViewController has been successfully used
我有一个使用 UIActivityViewController
的 tableView,因此用户可以在其他第三方网络 Facebook、twitter、短信等上共享内容。我有一个名为 IncreaseShareByOne()
的功能,它的目的是计算某些内容被分享的次数。我的问题是现在每次单击 UIActivityViewController
时都会触发该函数。有什么办法可以查明用户是否真的共享了某些内容,以便我可以正确使用该功能?有时候你打开 UIActivityViewController
并决定不分享任何东西,所以我想抓住而不是使用那个功能。我是 swift 的新手,正在使用版本 3。
func sharedShareAction(controller: UIViewController, sender: UIButton) {
controller.present(activityViewController,animated: true,completion: nil)
IncreaseShareByOne()
}
您可以向 UIActivityViewController
添加完成处理程序。在完成处理程序中,检查用户是否使用 completed
值提交。你可能想做这样的事情:
func sharedShareAction(controller: UIViewController, sender: UIButton) {
controller.present(activityViewController,animated: true, completion: nil)
activityViewController.completionWithItemsHandler = { activity, completed, items, error in
if !completed {
// handle task not completed
return
}
IncreaseShareByOne()
}
}
查看 API docs 了解更多信息。
我有一个使用 UIActivityViewController
的 tableView,因此用户可以在其他第三方网络 Facebook、twitter、短信等上共享内容。我有一个名为 IncreaseShareByOne()
的功能,它的目的是计算某些内容被分享的次数。我的问题是现在每次单击 UIActivityViewController
时都会触发该函数。有什么办法可以查明用户是否真的共享了某些内容,以便我可以正确使用该功能?有时候你打开 UIActivityViewController
并决定不分享任何东西,所以我想抓住而不是使用那个功能。我是 swift 的新手,正在使用版本 3。
func sharedShareAction(controller: UIViewController, sender: UIButton) {
controller.present(activityViewController,animated: true,completion: nil)
IncreaseShareByOne()
}
您可以向 UIActivityViewController
添加完成处理程序。在完成处理程序中,检查用户是否使用 completed
值提交。你可能想做这样的事情:
func sharedShareAction(controller: UIViewController, sender: UIButton) {
controller.present(activityViewController,animated: true, completion: nil)
activityViewController.completionWithItemsHandler = { activity, completed, items, error in
if !completed {
// handle task not completed
return
}
IncreaseShareByOne()
}
}
查看 API docs 了解更多信息。