問題タブ [nspopover]

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 に答える
747 参照

cocoa - NSPopOverのようなアニメーションを作成します

親ウィンドウに子として表示されるカスタムWindowオブジェクトで作業しています。
このオブジェクトでは、NSPopoverのようなアニメーションを作成したいと思います。

私の最初のアイデアは、Core Animationを使用してアニメーション化し、最終的に実際のウィンドウを表示するのではなく、子ウィンドウのスクリーンショットを作成することです。

実装を懇願する前に、より良い方法が存在するかどうか、そしてあなたが私の解決策についてどう思うかを知りたいと思います。

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

objective-c - NSPopover の外観を変更しますか?

次のような NSPopover を作成したいと思います。

スクリーンショット

だから私は図面を上書きしたいと思います。

残念ながら、Apple のドキュメントには何も見つかりませんでした。ただし、クラス ダンプを使用して次のプライベート クラスを見つけました。

_NSPopoverWindow次に、プライベートでもある をサブクラス化し、オーバーライドすることができます

+ (Class)frameViewClassForStyleMask:(unsigned long long)arg1;

プライベートなのでサブクラス化できません..これをバイパスする方法はありますか?

それとも他に方法はありますか?

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

objective-c - NSStatusItem に NSPopover を実装する

私は現在、次のようNSStatusItemに初期化されたステータスバー用のものを持っていますawakeFromNib:

NSMenuアイコンをクリックすると開く があります。オプションの 1 つは、クリックするとNSPopover、ステータス バー アイコンから開くことになっています。これを行うには、Interface Builder を介してメニュー項目に接続する次のコードがあります。

ただし、ポップオーバーを開くメニュー項目をクリックしても何も起こりません。これが当てはまる特定の理由はありますか?私が知る限り、できるはずです。

前もって感謝します。私はできる限り Stack Overflow を調べましたが、真に重複した質問がある場合は、リンクしてください。

参考までに:statusItem変数はNSStatusItem.

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

objective-c - NSPopoverおよびNSButtonコントロール

StatusBarアプリケーションを作成しました。カスタムビューを使用し、NSPopoverを使用していくつかのコントロールを表示します。NSTextfieldのフォーカスの問題に精通しています。これは痛みを引き起こしません。ただし、NSPopoverにもボタンがあります。このボタンはアクションを受け取らず、クリックに(視覚的に)応答しません。ボタンをフォーカス可能にする方法について何か提案はありますか?

前もって感謝します

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

sync - スライダーボタンと一緒にポップオーバーを移動する方法

ボリューム用のカスタム スライダーがあり、スライダーの現在の値をポップオーバーに表示する必要があります。下の図を参照してください。

残念ながら、現時点では、ポップオーバーはスライダーの中央で静的です。

ポップオーバーをスライダーボタンと一緒に移動させる方法はありますか?

これは私がこれまでに持っているものです:

ここに画像の説明を入力

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

resize - nspopover のサイズ変更

メソッドを使用して含まれる NSView のフレームを設定することにより、表示する前に NSPopover のサイズを変更しようとしています。

ただし、次のように呼び出してポップオーバーを表示しようとすると:

ビューが元のサイズに戻ります。なぜこうなった?ポップオーバーのサイズを変更する別の方法はありますか?

前もってありがとう、ベン。

0 投票する
3 に答える
6121 参照

xcode - 表示されたら、NSPopoverのサイズを変更します

NSViewのコンテンツであるNSPopoverがあります。ポップオーバーを作成し、次のようなビューを追加します。

次に、ポップオーバーを表示してサイズを設定します。

この時点で、ポップオーバーが表示され、そのコンテンツビューは正しいです。ポップオーバーを閉じて再表示せずに、この時点でポップオーバーのサイズを変更できる方法はありますか?

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

cocoa - NSPopoverの配置方法

NSViewController を使用して NSView のインアウト ビューを交換する OSX アプリケーションがあります。ビューの 1 つは NSOutlineView です。ユーザーが Outlineview の行をダブルクリックしたときに NSPopover を表示させたいと考えています。現在、ポップオーバーを表示するには、次のアプローチを使用しています。

これにより、アプリの下部に NSPopover が表示されます。これは機能しますが、ポップオーバーを NSOutlineView のクリックされた行の真下に表示できるようにしたいと考えています。入れ替えるすべてのビューは NSViewController によって制御され、NSViewController のビュー プロパティを使用してビューの位置を識別できると考えました。ただし、に置き換える[[NSApp keyWindow] contentView]myViewController.view、ビューにウィンドウがなく、NSPopover がクラッシュするというエラーが表示されます。明らかに、私は問題を抱えています 1) NSView でクリックされた行のメイン ウィンドウに対する座標を見つける 2) ビューにウィンドウがない理由を理解する。これらの問題を理解するのに役立つ提案があれば、大いに感謝します。

UPDATE 06/02/2013 私はまだ問題に苦しんでいますが、MainWindowController (myControlledView) を介してビューのプロパティにアクセスすると、ビューの正しい座標を取得できることがわかりました。次に、ビューの原点とフレーム サイズを尋ねると、正しい値が得られます。私のVCはカスタムビューをNIBファイルとしてロードし、ロードされたビューの原点を尋ねると(0,0)を取得します。ビューをNIBとしてロードしても、ウィンドウに対するビューの位置は変わらないと思いましたか? ビューの起点を VC に渡して NSPopover を正しく設定することはできますが、これはやや面倒で、NIB がロードされたビューの起点には VC を介して正しくアクセスできると思います。

これは結果に:My origin: 0.000000 0.000000なり、私が探しているものではありませんが、これは次のとおりです。

正しい原点が得られます。My origin: 176.000000 38.000000

明らかに、私が理解していないビューとウィンドウについて何かがあります。どんな助けでも大歓迎です。

提案と助けをありがとう!乾杯、トロンド

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

autocomplete - NSTextViewのNSPopoverを自動入力

オートコンプリートNSTextViewを作成する方法を理解しようとしています。私が実装しようとしているアイデアは、NSPopoverに次のような可能なユーザー名のリストを表示させることです:http://cl.ly/McZ0。その目的は、Tweetbot for Macと同じように機能することであり、入力すればするほど、リストがフィルターされます。私は両方を調べました

私はそれらのどちらも私がやろうとしていることに当てはまらないことを学びましたので私は調べました

「@」がどこにあるかを見つけ、「@」の後の文字を使用してリストをフィルタリングする必要があると思います。私が本当にこだわっているのは、NSTextViewの単語の下にNSPopoverを表示することです。誰かがこれを達成する方法について何かアイデアがありますか?

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

cocoa - NSPopovercontentSizeの変更と同時に自動レイアウトの変更をアニメーション化する

ポップオーバー内のナビゲート可能なビューのiTunes11の動作を再現しようとしています。contentSizeただし、ポップオーバーの変更と同時にアニメーションを実行する方法を見つけることができないようです。

私が持っている基本的なセットアップは、2つのサブビューを持つカスタムビューサブクラスMyPopoverNavigationViewです。ポップオーバー間を移動する古いビューと新しいビューです。ポップオーバーcontentViewControllerには、MyPopoverNavigationViewインスタンスがありますview。私はこれをします:

Auto Layout WWDC 2012のビデオからわかる限り、これは、制約の変更の結果としてビューのフレームの変更をアニメーション化するための推奨される方法です。動作しますが、アニメーションは2つのフェーズで発生します。

  • まず、ポップオーバーは、contentSize移動先の新しいビューに対応するように変更されます(そのビューが表示される前に、既存のコンテンツが部分的に隠されます)。
  • 次に、ビューが期待どおりにアニメーション化されるため、インストールした制約システムが満たされます。

-layoutSubtreeIfNeededいくつかのブレークポイントを設定すると、最終的には、と呼ばれるポップオーバーでプライベートメソッドを呼び出すように見えます。_fromConstraintsSetWindowFrame:これは、アニメーショングループの外部でポップオーバーサイズのアニメーションを実行します。私のコンテキストの継続時間は尊重されず、ポップオーバーのサイズ変更が完了するまでアニメーションは実行されません。

ポップオーバーのサイズ変更と一緒にビューをアニメーション化するにはどうすればよいですか?