問題タブ [nsstatusitem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
286 参照

objective-c - NSStatusItem によるメモリ管理: setToolTip

静的 NSStatusItem と NSStream クライアントを持つ Singleton クラスがあります。Stream でメッセージを受信するたびに、それを別のスレッドに渡して NSStatusItem toolTip を変更します。

ここで、Threadfrom StreaUtil は、設定するメッセージを指定して setToolTip を呼び出します。しかし、2 回または 3 回の呼び出しの後、ツールチップは元のツールチップ メッセージの最後にジャンク テキストを表示し始めます。

ここで何が間違っていますか?

0 投票する
1 に答える
244 参照

objective-c - NSStatusitemのNSTextField

ユーザーがステータスバーのNSStatusitemをクリックしたときにNSPopoverを表示する方法はありますか?

これまでのところ私のヘッダーにはこれがあります:

この :

メソッドの下で、私はこれを持っています:

これを機能させる方法はありますか?

0 投票する
1 に答える
246 参照

objective-c - NSStatusItem のグラフィック エラー

私のアプリケーションは NSStatusItem を使用してユーザーに表示します。そこで、「アプリケーションはエージェント (UIElement) です」を YES に設定します。これにより、基本的にアプリケーションのメニュー バーが非表示になり、ドックからアイコンが非表示になります。メニューバーを削除していないので、cmd+W で環境設定ウィンドウを閉じたり、cmd+q でアプリケーションを終了したりできます。問題は、そのようなコマンドを使用するたびに、メニューバーが台無しになることです。Growl 2 など、バックグラウンドで実行される他のアプリにも同じ問題があることに気付きました。

メニューバーのグラフィック エラー

これを修正する方法がわかりません。うまくいけば、あなたの誰かが私を助けることができます

マウンテンライオンをやっています。

ありがとう!

ヒント

おそらく、10.8 SKD と関係があります。どのアプリケーションでも、この問題に気付いたことはありません。

0 投票する
2 に答える
1403 参照

objective-c - NSStatusItem で NSProgressIndicator を使用する

私はこのコードを使用しています(ここの他の質問に触発されました):

残念ながら、このコードが実行されるとすぐに、ステータス アイテム (最初は画像が表示されています) が消えてしまいます...なぜ私のコードが機能しないのですか?

0 投票する
1 に答える
551 参照

objective-c - Mac システム ステータス バー フォーカス

次のコードで、systemStatusBar にメニューを追加しました。

次に、そのプロパティを設定します。他のステータス アイテム (Volume、DateTime、Wi-Fi、BatteryIndi​​cator など) との唯一の違いは、それを選択してキーボードの左右の方向ボタンを押すと、他のアイテムに移動できないことです。別のステータス項目を選択して方向キーを押すと、ステータス項目が選択されず、代わりに別の statusItem にジャンプします。この問題を修正する方法はありますか、それとも OS 以外の statusItems の標準ですか?

0 投票する
1 に答える
161 参照

objective-c - ステータスアイテムのタイトルを更新

statusItem のタイトルを更新するにはどうすればよいですか? 今のところタイマーでやってます

そしてボイドは次のとおりです。

内容がmyString変わります。タイトルを更新するにはどうすればよいですか? 現時点では、私がそれを更新すると、別の statusItem と別のものが来ます...

0 投票する
2 に答える
1340 参照

cocoa - NSStatusItem のアニメーション化

NSStatusItem オブジェクトにカスタム ビューがあります。このビューにはアイコンが表示されます。進行状況を表示することもできますが、[self.statusitemview setProgressValue:theValue]; I have a set of icons を呼び出す必要があり、この値を使用して適切なアイコンを選択します。

実行されたプロセスが常に更新を送信するわけではないため、これは非常にぎくしゃくしています。だからこれをアニメ化したい。

他のココア コントロールと同じようにアニメーションを呼び出したいと思います: [[self.statusItemView animator] setProgressValue:value];

もしそれが可能なのであれば

これを行う適切な方法は何ですか?NSTimer は使いたくありません。

編集

画像は drawRect: メソッドを使用して描画されます

コードは次のとおりです。

なんとかできるはずです。Apple の標準コントロールは drawRect: を使用して描画されるため、アニメーションはスムーズです...

0 投票する
1 に答える
1469 参照

objective-c - メニューがある場合に NSStatusItem がクリックされたことを検出しますか?

クリックするNSStatusItemとドロップダウンメニューが表示されます:

[statusItem setMenu:statusMenu];

メニューを使用しているため、このコードはステータス アイテムがクリックされたタイミングを検出しません。

[statusItem setAction:@selector(isClicked:)];

メニューを使用すると同時に、ステータス項目がクリックされたことを知るにはどうすればよいですか?

0 投票する
1 に答える
159 参照

objective-c - ステータス バー アイコンからアプリを再アクティブ化する

ドック アイコンがなく、ステータス バー アイコンがある Mac アプリを構築しているため、それを表示する唯一の方法はステータス アイコンからです。

アプリがアクティブなとき、問題なくステータス アイコンから NSWindow を画面に表示できます。アプリがフォーカスを失ったときに問題が発生し、その時点でアプリ自体が非表示になります。ステータス アイコンをクリックしたときにアプリを再度アクティブにする方法がわかりません。

ありがとう。

0 投票する
0 に答える
182 参照

objective-c - 「エージェント」アプリケーションをバックグラウンドで起動すると NSPanels が消える

StatusItem としてのみ表示されるエージェントを作成する試みの開始点として、Cocoa の「ステータス バー」チュートリアル ( http://cocoatutorial.grapewave.com/tag/status-bar/ ) を使用しました。

このアプリケーションにはメインの NSWindow オブジェクトがなく、関連付けられた 3 つの NSPanel があります。1 つの NSPanel は Application Preferences ウィンドウとして機能し、他の 2 つの NSPanel はユーザーに短いテキストを入力して OK ボタンを押すだけです。

設定パネルは、次のように NSMenuItem を介して起動されます。

XCode 内からアプリケーションをビルドして実行すると、すべて正常に動作するように見えます。ただし、Finder などから Xcode の外部からアプリケーションを実行すると、これらのウィンドウはまったく表示されません。

さらに、XCode 内から動作を複製することができます。設定パネルを表示してからクリックすると (たとえば、この Safari ウィンドウをクリックすると)、設定パネルが消えてしまい、二度と表示されなくなります。環境設定パネルを再表示するには、XCode 内からアプリケーションを物理的に停止してから再度実行する必要があります。

誰の助けにも感謝します!