在完成活动之前关闭UIActivityView

时间:2013-09-19 09:09:14

标签: ios objective-c facebook uiactivity

我正在使用自定义UIActivity facebook 朋友墙上分享照片。

我正在使用customViewController来显示TableView,让用户选择要分享照片的朋友,我从覆盖的activityViewController方法返回当 facebook 操作完成时调用activityDidFinish,这会解除我的ViewController

这很好,但我想: 在用户按下按钮直接发布到Facebook然后在后台异步执行任务后,解除我的ViewController,这样用户可以在此期间执行其他操作。

更简单地说: 在致电ViewController

之前,直观地解除了自定义activityDidFinish:

所以当我按下按钮时:

[FBRequestConnection startWithGraphPath:[NSString stringWithFormat:@"%@/photos",uid] parameters:postVariablesDictionary HTTPMethod:@"POST" completionHandler:
 ^(FBRequestConnection *connection,
   id result,
   NSError *error)
 {
    if (!error)
    {
        [self activityDidFinish:YES];
    }
    else
    {
        [self activityDidFinish:NO];
    }
 }];

但是我之前想要在视觉上解除我的ViewController,因为在这种情况下我们实际上必须查看活动是否完成,例如在Apple提供的默认Facebook活动中发布给您的拥有墙,按下发布按钮后,ModalViewController立即被解除。

1 个答案:

答案 0 :(得分:0)

这是一个有效的例子:

[实施例] http://www.apeth.com/iOSBook/ch26.html#_activity_view

请注意,我们最后通过调用activityDidFinish:来结束。这就是拆掉原始界面的原因。这可能是您省略的步骤。如果没有,只需将你正在做的事情与我正在做的事情进行比较,因为我正在做的事情(在iPhone上)。