Как добавить Pull для обновления контроллера в scrollview? - PullRequest
0 голосов
/ 17 февраля 2019

Привет, в моем приложении я хочу добавить Pull для обновления контроллера в scrollview.Я пишу следующий код, но он не получает никакого ответа.

Когда я прокручиваю представление для этого времени, метод add target не вызывается.

@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()

    }

1 Ответ

0 голосов
/ 18 февраля 2019

Привет, я решил эту проблему, когда я пишу этот код в 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()

    }
...