Да, похоже, не помогает.
аюсь использовать NSProgressIndicator (неопределенный) внутри меню состояния строки. Я использую NSView-объект в качестве представления для элемента меню, а затем просматриваю индикатор прогресса для его отображения. Но всякий раз, когда я пытаюсь вызвать startAnimation: для прогресса ничего не происходит. Когда я пытаюсь сделать то же самое на обычном NSWindow, оно работает отлично, но только не внутри меню.
Я новичок как в какао, так и в объективе-c, поэтому, возможно, я упустил нечто «очевидное», но я довольно долго искал обходной путь, но безуспешно. Я обнаружил, что некоторые элементы меню не могут быть обновлены, пока они показаны, и что вместо этого вам нужно использовать окно без полей. Но я не смог подтвердить это ни в одной документации.
Редактировать:
Хорошо, почти работает сейчас. При использовании setUsesThreadedAnimation: и из меню MenuDelegateWillOpen и создании нового потока. Этот поток запускает локальный метод:
-(void) doWork(NSProgressIndicator*) p{
[p startAnimation:self];
}
Это запустит индикатор прогресса случайным образом (?) При открытии меню. Если я позвонюstartAnimation:
прямо, не проходя черезdoWork:
(все еще используя новую тему), это никогда не работает. неsetUsesThreadedAnimation:
заставить прогресс-бар создать свой собственный поток для анимации?