2016-03-28 71 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) 
} 

當然,這是我需要使用它,所以修改它以滿足您的需求

相關問題