我有一个UIActivityViewController
,允许图像共享到Facebook(如果配置了系统范围的Facebook帐户)。
这可以按预期工作,但是一旦点击了Facebook图标,就会在Facebook共享对话框出现之前延迟几秒钟。图像已经在内存中,所以我不确定滞后是什么,但我怀疑它必须来自联系Facebook并等待回复。
从点击Facebook图标到呈现对话框之间,我看不出任何可能显示不确定UIActivityIndicatorView
的方法。有谁知道一种方式?
答案 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