Ios 在完成活动之前关闭UIActivityView
我正在使用自定义的Ios 在完成活动之前关闭UIActivityView,ios,objective-c,facebook,uiactivity,Ios,Objective C,Facebook,Uiactivity,我正在使用自定义的UIActivity在facebook好友墙上共享图片 我使用customViewController来显示一个TableView,让用户选择要共享照片的朋友,我从覆盖的activityViewController方法返回该朋友,并在facebook操作完成后调用activitydidfish,这将取消我的视图控制器 这很好,但我想: 在用户按下按钮直接发布到facebook,然后在后台异步执行任务后,请关闭我的ViewController,以便用户可以同时执行其他任务 简而言
UIActivity
在facebook好友墙上共享图片
我使用customViewController
来显示一个TableView
,让用户选择要共享照片的朋友,我从覆盖的activityViewController
方法返回该朋友,并在facebook操作完成后调用activitydidfish
,这将取消我的视图控制器
这很好,但我想:
在用户按下按钮直接发布到facebook,然后在后台异步执行任务后,请关闭我的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
,因为在这种情况下,我们实际上必须查看活动是否完成,例如在苹果提供的默认Facebook活动中,它会发布到你自己的墙上,按下post按钮后,ModalViewController会立即关闭。以下是一个工作示例:
[示例]
请注意,我们最后调用了
activityDidFinish:
。这就是撕裂原始界面的原因。这可能就是你忽略的步骤。如果没有,请将你正在做的与我正在做的进行比较,因为我正在做的工作(在iPhone上)是有效的。谢谢你的输入。但我觉得你没有完全理解我的问题。当用户单击“发布到朋友墙”按钮时,操作可能需要2-3秒才能完成,这时我可以说,如果它有错误或没有,请调用activityDidFinish:是或否。在这2-3秒内,my custom ViewController仍在显示;这是我不想要的部分。在doDone:method中的示例中,假设您有一个耗时的操作,您希望直接缩小视图,然后返回它是否正确完成。。。