RefreshControl不会隐藏

时间:2017-01-10 21:05:01

标签: ios swift tableview refresh

刷新进度完成后,我的刷新控件不会消失。它仍然是动画,即使我调用endRefreshing()。

import UIKit

class MyTableViewController: UITableViewController {
    override func viewDidLoad() {
        super.viewDidLoad()

        refreshControl = UIRefreshControl()
        refreshControl?.attributedTitle = NSAttributedString(string: "Pull to refresh")
        refreshControl?.addTarget(self, action: #selector(self.refresh), for: UIControlEvents.valueChanged)
        tableView.addSubview(refreshControl!)

        setData()
    }

    func setData(){
        ApiClient.sharedInstance().getData{(myData, error) in
            if (myData != nil){
                DispatchQueue.main.async {
                    self.myLabel.text = myData
                    self.refreshControl?.endRefreshing()
                }
            }

            if (error != nil){
                print(error)
            }
        }
    }

    func refresh(sender:AnyObject) {
        setData()
    }

}

你能帮助我吗?

1 个答案:

答案 0 :(得分:0)

beginUpdates和endUpdates发挥了神奇的作用。

这个让我疯了1个小时。最后,当我的网络呼叫完成并刷新表格视图时,这个部分有效。

{{1}}

}