Да, похоже, не помогает.

аюсь использовать NSProgressIndicator (неопределенный) внутри меню состояния строки. Я использую NSView-объект в качестве представления для элемента меню, а затем просматриваю индикатор прогресса для его отображения. Но всякий раз, когда я пытаюсь вызвать startAnimation: для прогресса ничего не происходит. Когда я пытаюсь сделать то же самое на обычном NSWindow, оно работает отлично, но только не внутри меню.

Я новичок как в какао, так и в объективе-c, поэтому, возможно, я упустил нечто «очевидное», но я довольно долго искал обходной путь, но безуспешно. Я обнаружил, что некоторые элементы меню не могут быть обновлены, пока они показаны, и что вместо этого вам нужно использовать окно без полей. Но я не смог подтвердить это ни в одной документации.

Редактировать:

Хорошо, почти работает сейчас. При использовании setUsesThreadedAnimation: и из меню MenuDelegateWillOpen и создании нового потока. Этот поток запускает локальный метод:

-(void) doWork(NSProgressIndicator*) p{
     [p startAnimation:self];
}

Это запустит индикатор прогресса случайным образом (?) При открытии меню. Если я позвонюstartAnimation: прямо, не проходя черезdoWork: (все еще используя новую тему), это никогда не работает. неsetUsesThreadedAnimation: заставить прогресс-бар создать свой собственный поток для анимации?

Ответы на вопрос(1)

Ваш ответ на вопрос