显示活动指标,以便从UIActivityViewController共享到Facebook?

时间:2017-03-19 07:53:30

标签: ios facebook uiactivityviewcontroller uiactivityindicatorview

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

这可以按预期工作,但是一旦点击了Facebook图标,就会在Facebook共享对话框出现之前延迟几秒钟。图像已经在内存中,所以我不确定滞后是什么,但我怀疑它必须来自联系Facebook并等待回复。

从点击Facebook图标到呈现对话框之间,我看不出任何可能显示不确定UIActivityIndicatorView的方法。有谁知道一种方式?

1 个答案:

答案 0 :(得分:0)

刚出现类似的问题!我想对我的Web应用程序执行HTTP调用,这是必要的,所以我会有推文的URL。 (在我的情况下,它进一步复杂化,因为对Web应用程序的调用也是在异步线程上。)有两种方法可以做到这一点...您可以将一个活动指示器视图添加到故事板并创建IBActions,如下所述: http://sourcefreeze.com/uiactivityindicatorview-example-using-swift-in-ios/

我发现通过代码添加public static boolean isFriendly(int number) { String num = Integer.toString(number); for (int i = 0, dividedBy = 1; i < num.length(); i++, dividedBy++) { String numToCheck = ""; for (int j = 0; j <= i; j++) { numToCheck += num.charAt(j); } if (Integer.valueOf(numToCheck) % dividedBy != 0) { return false; } } return true; } 会更直接。作为班上的一员:

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() } 作为您的第一个操作,并在显示Facebook共享之前调用startActivityIndicator()。在我的情况下,因为我想结束指示器并显示推文框(使用stopActtivityIndicator()响应异步http请求,我不得不以这种方式回调到stop方法的主线程:

SLComposeViewController