Обновление UILabel по таймеру не работает - PullRequest
1 голос
/ 28 июля 2011

У меня есть UIView с меткой, которая показывает время, как секундомер.Я установил метку из метода Таймера.Вот код ниже:

  ivarTimer = [NSTimer scheduledTimerWithTimeInterval:1.0/10.0
     target:self
     selector:@selector(updateTimer)
     userInfo:nil
     repeats:YES];

Мой метод обновления выглядит следующим образом:

  - (void)updateTimer {
     ...
     self.myLabel.text = @"someChangedStr";
  }

Отлично работает.Но в представлении у меня есть UITableView и если я прокручиваю TableView, self.myLabel.text останавливает обновление.Должен ли я использовать темы или что-то еще?

1 Ответ

1 голос
/ 28 июля 2011

Вы можете запустить свой таймер в другом потоке, но вы всегда должны выполнять обновления пользовательского интерфейса в основном потоке. Однако попробуйте добавить свой NSTimer в UITrackingRunLoopMode, чтобы он продолжал срабатывать при отслеживании касаний вашего окна.

[[NSRunLoop mainRunLoop] addTimer:ivarTimer
                          forMode:UITrackingRunLoopMode];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...