Ios 在swift 2.0表格视图中显示活动指示器3秒

Ios 在swift 2.0表格视图中显示活动指示器3秒,ios,swift,uiactivityindicatorview,Ios,Swift,Uiactivityindicatorview,我在我的表视图中放置了一个自定义的活动指示器,并将其命名为:activityIndicator。我还有一个动作按钮。当我按下该按钮时,活动指示器应显示3秒钟,然后应隐藏。如何在swift 2.0中做到这一点 @IBAction func RefineButtonPress(sender: AnyObject) { } 请帮帮我 首先在类中创建一个名为hideActivityIndicator的方法,如下所示: func hideActivityIndicator() { activi

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

@IBAction func RefineButtonPress(sender: AnyObject) {

}

请帮帮我

首先在类中创建一个名为
hideActivityIndicator
的方法,如下所示:

func hideActivityIndicator()
{
    activityIndi.hidden = true
}
然后在要调用的执行选择器中调用该方法。i、 e在按钮上单击事件,如下所示:

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

首先在类中创建一个名为
hideActivityIndicator
的方法,如下所示:

func hideActivityIndicator()
{
    activityIndi.hidden = true
}
然后在要调用的执行选择器中调用该方法。i、 e在按钮上单击事件,如下所示:

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

您可以在单个函数实现中尝试此操作

@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

    };
}

您可以在单个函数实现中尝试此操作

@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

    };
}

Swift 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)
}

当然,这正是我需要使用它的原因,因此请修改它以满足您的需要

Swift 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)
}

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

在这里,我还需要重新加载我的表视图,如'self.tableview.reload()`。。。在该调度中,我可以重新加载我的表视图吗?我面临一个问题!。当我添加自定义活动指示器时。并添加了所有操作代码。我收到一个错误,即“从ViewController到UIActivityIndicatorView的activityIndicator出口无效。无法将出口连接到重复内容。`。如何将iboutlet活动指示器添加到我的表视图??还有其他想法吗?我想这是因为你正在将一个插座从tableview单元格添加到一个viewcontroller中,因为单元格被回收,所以它无法工作,因此你想要哪个活动指示器是不明确的,我想你必须将活动指示器的插座分配给你的自定义单元格,并通过那里访问它,在这里,我还需要像'self.tableview.reload()`……那样重新加载我的表视图,而不是在ViewController中。。。在该调度中,我可以重新加载我的表视图吗?我面临一个问题!。当我添加自定义活动指示器时。并添加了所有操作代码。我收到一个错误,即“从ViewController到UIActivityIndicatorView的activityIndicator出口无效。无法将出口连接到重复内容。`。如何将iboutlet活动指示器添加到我的表视图??还有其他想法吗?我想这是因为你正在将一个插座从tableview单元格添加到一个viewcontroller中,因为单元格被回收,所以它无法工作,因此你想要哪个活动指示器是不明确的,我想你必须将活动指示器的插座分配给你的自定义单元格,并通过那里访问它,而不是在viewcontroller中