вручную запустить обновление UIRfreshControl на swift 3.0 и iOS 10

какое-то время я использовал код вроде

extension UIRefreshControl {
    func beginRefreshingManually() {
      if let scrollView = superview as? UIScrollView {
        scrollView.setContentOffset(CGPoint(x: 0, y: scrollView.contentOffset.y - frame.height), animated: false)
      }
      beginRefreshing()
}}

Чтобы начать обновление вручную (показать вращающийся круг) в viewDidLoad UIViewControllers, и это работает как шарм.

После перехода на swift 3.0 и iOS 10 он внезапно останавливается. Более того, я попытался перенести вызов в viewDidAppear, и, к моему разочарованию, на некоторых контроллерах это работает, а на некоторых нет (если есть какой-то шаблон, я не смог его найти)

любые решения?

ура Войтек


person wojciech_maciejewski    schedule 27.10.2016    source источник
comment
проверьте решение здесь: stackoverflow.com/questions /28550021/ работает на iOS 10, Swift 3   -  person Adam Różański    schedule 28.10.2016


Ответы (1)


В UIRfreshControl для iOS 10 внесено изменение. Вы добавляли элемент управления обновлением следующим образом: scrollView.addSubview(refreshControl). Теперь ScrollView, CollectionView и TableView имеют свойство refreshControl, так что теперь это код: scrollView.refreshControl = refreshControl

person Flipper    schedule 27.10.2016
comment
Раньше у tableView было свойство refreshControl, поэтому проблема не в нем. - person wojciech_maciejewski; 28.10.2016