2016-03-28 37 views
1

我将一个自定义​​放到了我的表格视图中,并将其命名为:activityIndicator。我也有一个动作按钮。当我按下该按钮时,活动指示器应该显示3秒钟,之后应该隐藏。如何做到这一点在迅速2.0在swift 2.0中显示活动指示器3秒表视图

@IBAction func RefineButtonPress(sender: AnyObject) { 

} 

请帮助我!

回答

3

可以试试这个为一个单一的功能实现

@IBAction func RefineButtonPress(sender: AnyObject) { 

    self.activityIndicator.startAnimating() 
    self.activityIndicator.hidden = false 

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (Int64)(3 * NSEC_PER_SEC)), dispatch_get_main_queue()){ 
     self.activityIndicator.stopAnimating() 
     self.activityIndicator.hidden = true 

    }; 
} 
+0

在这我也需要重新加载我的表视图像'self.tableview.r eload()'...在那个调度内我可以重新加载我的表视图? – user5513630

+0

是的,你可以把它放在dispatch_after以及 – Fonix

+0

我面临着一个问题!当我广告自定义活动指标。并添加了所有操作代码。我得到一个错误,即从ViewController到UIActivityIndi​​catorView的activityIndi​​cator出口是无效的。插座不能连接到重复的内容。 '。我怎样才能将iboutlet活动指标添加到我的表格视图?任何其他想法? – user5513630

2

首先在类中创建一个方法有如下名称hideActivityIndicator

func hideActivityIndicator() 
{ 
    activityIndi.hidden = true 
} 

然后调用该方法在执行要调用选择。即在下面的按钮单击事件:

self.performSelector("hideActivityIndicator", withObject: nil, afterDelay: 3.0) 
1

斯威夫特3点的工作原理如下:

func hideActivityIndicator() { 
    self.activityIndicator.stopAnimating() 
    self.activityIndicator.isHidden = true 
} 

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) 
{ 
    self.activityIndicator.startAnimating() 
    self.perform(#selector(IAPViewController.hideActivityIndicator), with: nil, afterDelay: 2.0) 
} 

当然,这是我需要使用它,所以修改它以满足您的需求

相关问题