如何添加拉动刷新控制器到滚动视图?

Sri*_*tty 2 scrollview ios pull-to-refresh swift

嗨,在我的应用程序中,我想添加 Pull 以刷新控制器以滚动视图。我编写了以下代码,但没有得到任何响应。

当我滚动视图时,不会调用添加目标方法。

@IBOutlet var scrool: UIScrollView!
var refreshControl = UIRefreshControl()

override func viewDidLoad() {
        super.viewDidLoad()
        // Add refresh control for the Home page scroll view.
        self.refreshControl.tintColor = UIColor.appcolor
        self.refreshControl.attributedTitle = NSAttributedString(string: "Pull to refresh")
        self.refreshControl.addTarget(self, action: #selector(refresh(sender:)), for: UIControl.Event.valueChanged)
        self.scrool.isScrollEnabled = true
        self.scrool.alwaysBounceVertical = true
        scrool.addSubview(refreshControl)
    }
    @objc func refresh(sender:AnyObject) {
        // Code to refresh table view
        self.getHomePageApi()
        refreshControl.endRefreshing()

    }
Run Code Online (Sandbox Code Playgroud)

Sri*_*tty 5

嗨,我在 viewwillappear() 中编写此代码时解决了这个问题,除了 viewdidload() 函数它会正常工作。

var refreshControl:RefreshControl!    
override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        refreshControl = RefreshControl()
        refreshControl.addTarget(self, action: #selector(refresh), for: .valueChanged)
        scrool.refreshControl = refreshControl
    }

    @objc func refresh()
    {
        // Code to refresh table view
        refreshControl.endRefreshing()
        self.getHomePageApi()

    }
Run Code Online (Sandbox Code Playgroud)