我有一个使用UIActivityViewController
的tableView,因此用户可以在其他第三方网络Facebook,Twitter,短信等上分享内容。我有一个名为IncreaseShareByOne()
的功能及其用途是计算共享内容的次数。我的问题是,现在每次点击UIActivityViewController
时函数都会触发。在某种程度上,我可以找出用户是否真的共享某些东西,以便我可以正确使用该功能?有时你打开UIActivityViewController
并决定不分享任何东西,所以我想抓住而不是使用那个功能。我是swift的新手,正在使用版本3。
func sharedShareAction(controller: UIViewController, sender: UIButton) {
controller.present(activityViewController,animated: true,completion: nil)
IncreaseShareByOne()
}
答案 0 :(得分:6)
您可以为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了解详情。