UIScrollView приостанавливает NSTimer до тех пор, пока прокрутка не завершится

Хотя UIScrollView (или его производный class) прокручивается, кажется, что все NSTimers приостанавливаются до завершения прокрутки.

Есть ли способ обойти это? Потоки? Настройка приоритета? Что-нибудь?

Простое и простое решение:

 NSTimer *timer = [NSTimer timerWithTimeInterval:... target:... selector:.... userInfo:... repeats:...]; [[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes]; 

Для тех, кто использует Swift 3

 timer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: aSelector, userInfo: nil, repeats: true) RunLoop.main.add(timer, forMode: RunLoopMode.commonModes) 

Да, Пол прав, это проблема цикла. В частности, вам необходимо использовать метод NSRunLoop:

 - (void)addTimer:(NSTimer *)aTimer forMode:(NSString *)mode 

Это быстрая версия.

 timer = NSTimer.scheduledTimerWithTimeInterval(0.01, target: self, selector: aSelector, userInfo: nil, repeats: true) NSRunLoop.mainRunLoop().addTimer(timer, forMode: NSRunLoopCommonModes) 

Вам нужно запустить другой stream и другой цикл запуска, если вы хотите, чтобы таймеры запускались при прокрутке; поскольку таймеры обрабатываются как часть цикла событий, если вы заняты обработкой прокрутки вашего представления, вы никогда не обходите таймеры. Несмотря на то, что штраф за превышение скорости работы / батареи при работе таймеров на других streamах может не стоить обрабатывать этот случай.

  • Как украсть штрихи от UIScrollView?
  • Получение видимого прямоугольника содержимого UIScrollView
  • Как заблокировать горизонтальную прокрутку scrollView в iOS
  • UITextView внутри UIScrollView с AutoLayout
  • Как настроить размер содержимого UIScrollView динамически
  • UIScrollView не использует ограничения автоопределения
  • Проверка UIScrollView iPhone
  • Как включить масштабирование в UIScrollView
  • Прокрутка двумя пальцами с помощью UIScrollView
  • UIScrollView не прокрутка
  • Как я могу программно принудительно остановить прокрутку в UIScrollView?
  • Interesting Posts

    Как отправить файл с FileZilla из командной строки?

    Как использовать метод экземпляра как обратный вызов для функции, которая принимает только func или буквальное закрытие

    Анатомия «утечки памяти»

    Как я могу получить MByte / s или Mbit / s чтение сетевой активности?

    Как «отлаживать» клавиатуру в Linux? Как нажатие клавиши и просмотр кода в терминале

    Как отключить управление оконным менеджером Gnome control-alt-arrow для RedHat Linux

    Как составить матрицу вращения с удобочитаемыми углами с нуля?

    Может ли sizeof (int) когда-либо быть 1 в размещенной реализации?

    Возможно ли, что Num Lock ALLWAYS ON, без возможности отключения клавиши Num Lock?

    Угловой 2 – внутренний стиль HTML

    Предотвратите блокировку Ubuntu 14.04 на виртуальном боксе, если Windows заблокирована

    Эффективное изменение одного расширения файла в Windows

    java InetAddress.getLocalHost (); возвращает 127.0.0.1 … как получить REAL IP?

    Swift Array дополнительно Тип и подписка (бета-версия 3)

    Отключить манифестное слияние в Android Gradle Build

    Давайте будем гением компьютера.