Ios 是否显示用于从UIActivityViewController共享到Facebook的活动指示器?

Ios 是否显示用于从UIActivityViewController共享到Facebook的活动指示器?,ios,facebook,uiactivityviewcontroller,uiactivityindicatorview,Ios,Facebook,Uiactivityviewcontroller,Uiactivityindicatorview,我有一个UIActivityViewController,允许将图像共享到Facebook(如果配置了系统范围的Facebook帐户) 这与预期的一样,但一旦点击Facebook图标,Facebook共享对话框就会出现几秒钟的延迟。图像已经在内存中,所以我不确定延迟是什么原因造成的,尽管我怀疑这一定是联系Facebook并等待回复造成的 从点击Facebook图标到出现对话框,我看不到任何方式可以显示不确定的UIActivityIndicatorView。有人知道路吗?刚刚遇到了类似的问题!我想

我有一个
UIActivityViewController
,允许将图像共享到Facebook(如果配置了系统范围的Facebook帐户)

这与预期的一样,但一旦点击Facebook图标,Facebook共享对话框就会出现几秒钟的延迟。图像已经在内存中,所以我不确定延迟是什么原因造成的,尽管我怀疑这一定是联系Facebook并等待回复造成的


从点击Facebook图标到出现对话框,我看不到任何方式可以显示不确定的
UIActivityIndicatorView
。有人知道路吗?

刚刚遇到了类似的问题!我想对我的web应用程序执行一个HTTP调用,这是必要的,这样我就有了tweet的URL。(在我的例子中,这更为复杂,因为对web应用程序的调用也在异步线程上)。。。您可以将“活动指示器”视图添加到情节提要并创建iActions,如下所述:

我发现只需通过代码添加
UIActivityIndicatorView
就更简单了。作为你们班的一员:

let activityIndicator=UIActivityIndicatorView(activityIndicatorStyle:UIActivityIndicatorViewStyle.gray)

我在新方法中添加了
startAnimating()
stopAnimating()
调用:

func startActtivityIndicator(){

    activityIndicator.center = self.view.center
    activityIndicator.hidesWhenStopped = true
    self.view.addSubview( activityIndicator )
    activityIndicator.startAnimating()

}

func stopActtivityIndicator(){

    activityIndicator.stopAnimating()
    activityIndicator.removeFromSuperview()

}
然后调用
startActivityIndicator()
作为按钮处理程序中的第一个操作,并在显示facebook共享之前调用
stopActivityIndicator()
。在我的例子中,因为我想结束指示器并显示tweet框(使用
SLComposeViewController
响应异步http请求,所以我必须通过以下方式向主线程调用stop方法:

DispatchQueue.main.async(execute: { () -> Void in

    self.stopActtivityIndicator()

})

我没有使用按钮处理程序-按钮由苹果的SDK处理。当从UIActivityViewController点击Facebook按钮时,我没有收到任何事件;这就是问题所在。啊,明白了,这确实是关于Facebook共享屏幕出现延迟的问题。虽然他们没有直接解决这个问题,但其中的一些答案可能会有所帮助ful..一个描述如何预加载
SLComposeViewController
,使其更快,另一个建议异步加载,以防止应用程序速度减慢