2016-10-03 99 views
0
override func viewDidLoad() 
     { 
      super.viewDidLoad() 

      if self.revealViewController() != nil 
      { 
       menuButton.target = self.revealViewController() 
       menuButton.action = #selector(SWRevealViewController.revealToggle(_:)) 
       self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer()) 
      } 



     Server.fetchCampaignList(target: self) 


     let indicator = UIActivityIndicatorView(activityIndicatorStyle: .white) 
     indicator.center = self.view.center 
     indicator.startAnimating() 
     self.view.addSubview(indicator) 

    } 

我讀過很多答案,但仍然沒有得到我做錯了什麼。我的以下功能在TableViewController類中。我想在viewDidLoad方法被調用後立即顯示活動指示器。在同樣的方法中,我需要從服務器獲取一個列表,當數據在同一個類中接收到我的nextAction方法時,我正在調用&正在執行重載表。活動指標沒有出現

一切工作正常。但活動指標沒有出現。

+0

首先添加到subview.than添加indicator.startAnimating() –

+0

禁用這一Server.fetchCampaignList(目標:自我),並檢查其工作或不 –

+0

@Krutarth和庵埠:我已經試過了,沒有工作。 –

回答

0

我在主線程&中添加了指標代碼。我會要求一些高級開發人員解釋沒有它會發生什麼問題&爲什麼現在它正在工作。這將有助於未來的未來。

override func viewDidLoad() 
    { 
     super.viewDidLoad() 

     if self.revealViewController() != nil 
     { 
      menuButton.target = self.revealViewController() 
      menuButton.action = #selector(SWRevealViewController.revealToggle(_:)) 
      self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer()) 
     } 

     OperationQueue.main.addOperation 
      { 
       Server.fetchCampaignList(target: self) 
       let indicator = UIActivityIndicatorView(activityIndicatorStyle: .gray) 
       indicator.center = self.view.center 
       self.view.addSubview(indicator) 
       indicator.startAnimating() 
     } 
    }