«Менубар-Виджет» не обновляет свой интерфейс - PullRequest
0 голосов
/ 02 августа 2011

Я пытаюсь создать маленький "Menubar-Widget".Так что на самом деле это не виджет, а приложение-какао, у которого нет иконки в доке, а есть значок в меню или строке состояния.

Вы можете запустить NSTimer, нажав кнопку, а затемдолжен показать обратный отсчет.Но это не так ...

- (void)update {
    NSTimeInterval interval = [endDate timeIntervalSinceNow];

    int _seconds = (int)interval%60;
    int _minutes = (((int)interval-_seconds)/60)%60;
    int _hours = ((int)interval-_seconds-_minutes*60)%3600;

    timeLeft.stringValue = [NSString stringWithFormat:@"%i:%i:%i",_hours,_minutes,_seconds];

    NSLog(@"%i:%i:%i",_hours,_minutes,_seconds);
}

Так что же происходит?

Когда я запускаю таймер, интерфейс не обновляет метку timeLeft.NSLog () тоже не будет работать.Но если я закрываю коробку, NSLog сообщает мне правильное время, и если я снова открываю коробку, она показывает мне правильную вещь.Но он больше не будет обновляться, пока я снова не закрою окно.

1 Ответ

0 голосов
/ 06 августа 2011

Я заменил относительное время на абсолютное время (например, 14:45) ... Интерфейс все еще не обновляется, но все в порядке.

...