На данный момент UIRefreshControl
является чем-то загадочным (на него влияют многие вещи - используете ли вы большие заголовки, установите refreshControl
в viewDidLoad
или где-либо еще и т. Д.)
Лучший способ избавиться от этих проблем - перестать наблюдать valueChanged
за UIRefreshControl
и выполнить reloadData
/ endRefreshing
после того, как вы убедитесь, что перетаскивания нет (например, scrollViewDidEndDragging
).
Также мне удалось воспроизвести мерцание индикатора активности из UIRefreshControl
из вашего gif таким образом (и только для iPhone-подобных устройств без прозрачности навигационной панели) :
edgesForExtendedLayout = [.top]
extendedLayoutIncludesOpaqueBars = true
тогда все, что мне нужно было сделать, это поменять edgesForExtendedLayout
и extendedLayoutIncludesOpaqueBars
.