Нет необходимости устанавливать рамку для UIRefreshControl
Я обычно реализую его, используя следующие шаги:
В блоке свойств класса:
let refreshControl: UIRefreshControl = UIRefreshControl()
В viewDidLoad
:
collectionView.alwaysBounceVertical = true
collectionView.refreshControl = refreshControl
refreshControl.addTarget(self, action: #selector(loadData), for: .valueChanged)
Где-то в теле класса:
// Refresh handler
@objc func loadData() {
// Your refresh-code here
}
Надеюсь, это поможет.
P.S. Иногда возникает ошибка мерцания управления обновлением (чем-то похожая на вашу). Это можно решить, добавив: extendedLayoutIncludesOpaqueBars = true
к вашему viewDidLoad()
методу.