Когда вы выполняете прокрутку, цикл запуска входит в другой режим (UITrackingRunLoopMode
) и перестает отвечать на сетевую активность в главном потоке.Это сделано из соображений производительности.
Вы должны быть в состоянии запланировать эти обновления в надлежащем режиме запуска (я считаю, UITrackingRunLoopMode
).Однако я бы не рекомендовал это.
Вместо этого попробуйте настроить сетевой код UDP в другом потоке (или очереди, да, GCD!) И запланировать обратные вызовы в основном потоке для обновления пользовательского интерфейса.Это гарантирует, что сетевой поток имеет правильный режим запуска при возврате данных в сокет.