2017-05-20 8 views
0

速すぎてスピン、と私はrefreshControlは、データのショーをやったUIRefreshControlは、私はのtableViewは、サーバーからデータを初期化しているときに自動的に表示するようにrefreshControlをトリガしたい

UIRefreshControl - beginRefreshing not working when UITableViewController is inside UINavigationController

この質問にいくつかの方法を試してみました最初は初期化されていますが、速すぎます(おそらく通常の速度の2倍)。

誰もがこの問題を解決する理由とその理由を知っていますか?ここで

+0

を使用すると、ハードウェアデバイス上でそれをテストしたり、それを2回initiliazeのですか?ですかコードを表示する – kuzdu

+0

私は2回initiliazedだと思いますが、私のコードには何の証拠も見つかりません。 –

+0

あなたのコードを投稿してください。 – kuzdu

答えて

0

コード

override func viewDidLoad() { 
    super.viewDidLoad() 
    networkManager = BookNetworkManager(userAccount: userAccount) 
    HUD = JGProgressHUD.standard 
    refreshControl!.addTarget(self, action: #selector(refreshData), for: .valueChanged) 
    tableView.tableFooterView = UIView() 
} 

override func viewWillAppear(_ animated: Bool) { 
    super.viewWillAppear(animated) 
    delegate?.setNavgationItem(status: .none) 
    if !loaded { 
     tableView.setContentOffset(CGPoint(x: 0, y: -self.refreshControl!.height - self.topLayoutGuide.length), animated: true) 
     refreshControl!.beginRefreshing() 
     refreshData() 
     loaded = true 
    } 
} 

func refreshData() { 
    delegate?.hidePlaceHolder(type: .history) 
    refreshControl!.attributedTitle = NSAttributedString(string: "刷新数据中") 
    networkManager.getHistoryBook() 
     { (response, errorInfo, books) in 
      if response == .success { 
       self.historyBookList = books 
       self.historyBookList.sort{ $0.returnDateTimeInterval > $1.returnDateTimeInterval } 
       self.tableView.reloadData() 
       if books.isEmpty { 
        self.delegate?.showPlaceHolder(message: "还没有借阅过书籍噢", for: .history) 
       }else{ 
        self.delegate?.hidePlaceHolder(type: .history) 
       } 
      }else { 
       print(errorInfo?.errorDescription ?? response.rawValue) 
       self.HUD.show(message: errorInfo?.errorDescription ?? response.rawValue, time: 2) 
       self.delegate?.showPlaceHolder(message: "出错啦,下拉刷新一下吧?", for: .history) 
      } 
      self.refreshControl!.endRefreshing() 
      self.refreshControl!.attributedTitle = NSAttributedString(string: "下拉刷新数据") 
    } 
} 
関連する問題