NSStatusItemを次のように作成しました。
statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
[statusItem setTitle:@"DS"];
[statusItem setHighlightMode:YES];
[statusItem setAction:@selector(StatusClicked:)];
[statusItem setTarget:self];
customview付きのポップオーバーもあります。ビューにテキストフィールドがあります:http://d.pr/i/CWbr
私のポップオーバーは次のように表示されます:
- (void)StatusClicked:(id)sender {
[self.popover showRelativeToRect:[sender bounds] ofView:sender preferredEdge:NSMaxYEdge];
}
デバッガーから、ここにクラスsender
のインスタンスがあることがわかりました。NSStatusBarButton
問題は、ポップオーバーがポップすると、テキストフィールドに入力できない場合、非アクティブに見えることです: http ://d.pr/i/q18U
ボタンは機能しています。
問題は私が渡す見解にあると思いますofView:
。私はそれを次のようなウィンドウのコントロールに変更しようとしました:
[self.popover showRelativeToRect:[sender bounds] ofView:self.postText preferredEdge:NSMaxYEdge];
そして、textfieldがアクティブになりました(http://d.pr/i/DmTz)が、なぜこれが役立つのかわかりません。
メニューからポップしたときにポップオーバーテキストフィールドが非アクティブになるのはなぜですか?ボタンが機能するのはなぜですか?テキストフィールドをアクティブにするにはどうすればよいですか?
PS私のアプリはApplication is agent (UIElement)