ステータスバーメニュー内でNSProgressIndicator(不確定)を使用しようとしています。私はmenuitemのビューとしてNSViewオブジェクトを使用しています。そして、それを表示するために進捗インジケータをサブビューします。しかし、私がstartAnimationを呼び出そうとすると、進捗状況は何も起こりません。私は通常のNSWindowで全く同じことをしようとすると、それは完全に動作します。NSMenuItem内でのNSProgressIndicatorの使用
私は「明らかに」何かを見落としてきたかもしれないが、私はこの問題を回避するために、成功せずかなり検索したので、私はココアとObjective-Cの両方に新たなんです。表示されている間にmenuitems cantが更新されることがあり、代わりに無枠のウィンドウを使用する必要があることがわかりました。しかし、私はどのドキュメントでもこれを確認することができませんでした。
編集:
setUsesThreadedAnimation:を使用し、MenuDelegateのmenuWillOpenから新しいスレッドを作成します。このスレッドは、ローカルメソッドを実行します。
-(void) doWork(NSProgressIndicator*) p{
[p startAnimation:self];
}
これは、メニューを開くときにプログレスインジケータをランダム(?)に開始します。 doWork:
(まだ新しいスレッドを使用しています)を経由せずにstartAnimation:
を直接呼び出すと、決してうまく動作しません。 setUsesThreadedAnimation:
アニメーション用のスレッドをプログレスバーで作成しないでください。
そんなアドバイスをいただきありがとうございます。本当に助かります! – Yojik
私はこの作品を作るために何度も探してきました、ありがとうございました! – Jasper
ありがとうございました!ありがとうございました!ありがとうございました! –