問題タブ [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 投票する
3 に答える
9214 参照

objective-c - NSPopover - フォーカスが失われたときに非表示にしますか? (ポップオーバーの外側をクリック)

を表示するためdoubleClickActionに aを使用しています。このようなもの:NSTableViewNSPopover

これはうまく機能します。ポップオーバーは、ダブルクリックしたセルで作成および削除されます。問題は、ポップオーバーの外のどこかをクリックすると(別のセルを1回クリックするなど)、ポップオーバーを消したいということです。私は周りを見回してきましたが、私の人生では、それを行う方法がわかりません.

これは、ポップオーバーに組み込まれていると思われるものです(iOSクラスにあると確信していますUIPopoverController)ので、単純なものが欠けているのではないかと思っています。

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

objective-c - NSPopOverの表示

すべての機能を備えたxibを備えたウィンドウコントローラーから派生したクラスがあります。このxibには、ホールのリストを表示するテーブルビューがあります。ホール名をダブルクリックすると、そのホールの機能を表示するポップオーバーが表示されます。私はビューコントローラークラスを持っています。このクラスでは、プログラムでポップオーバーを作成します。

私のウィンドウコントローラークラスには、次のようなメソッドがあります。

このIBActionでそのポップオーバーメソッドをどのように呼び出すのですか?行をダブルクリックしてポップオーバーを表示する必要があります。これを行うにはどうすればよいですか?ありがとう。

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

objective-c - マウス ホバー時の NSPopOver

テーブル ビューのセルにカーソルを置いたときにポップオーバーを表示する必要があります。OS X アプリで、マウスが NSTableViewCell の上にあるときに NSPopover を表示するテクニックは何ですか? ありがとう

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

macos - ポップオーバーのcontentSizeを変更するとアクセスが悪くなります

ポップオーバーをトリガーするボタンと、ポップオーバーのチェックボックスがあります。チェックボックスの状態チェックボックスは、NSManagedObjectのフィールド「checkboxState」にバインドされています。

シナリオは次のとおりです。

  1. ボタンをクリックすると、ポップオーバーが表示されます。
  2. ポップオーバーのチェックボックスをオンにすると、ポップオーバーが大きくなり、他のいくつかのビューが表示されます(チェックボックスをオフにすると、ビューが非表示になり、ポップオーバーが元のサイズに戻ります)。チェックボックスの状態はここではYESです
  3. ポップオーバーを閉じて、checkboxStateをNOに変更する他の処理を実行します。
  4. ボタンをもう一度クリックすると、アプリが約10秒間ハングし、xcodeがEXC_BAD_ACCESS(code = 2、address = 0x7fff5f3ffff8)をスローします。呼び出し元は、0_CFArrayReplaceValuesです。

アプリは死ぬことはなく、応答しないだけです。

ボタンの動作は次のとおりです。

オブジェクトのcheckboxStateを変更するコードは次のとおりです。 [anManagedObject setValue:@NO forKey:@"checkboxState"]

_myPopover.contentSize = NSMakeSize(360, 270)showPopoverでコメントすると、それが動作します。

コメントする[anManagedObject setValue:@NO forKey:@"checkboxState"]と、うまくいきます

私は使用@try @catchしましたが、エラーはスローされませんでした。プロファイルツールを使用しましたが、アプリが無限ループに陥り、メモリ使用量が急速に増加しているようです。これを引き起こす可能性のある発信者[NSLayoutConstaint _loweredExpressionReportingConstantIsRounded:][NSIsObjectiveLinearExpression replaceVariable:withExpression:processVariableNewToReceiver:processVariableDroppedFromReceiver:]

何か案は?私はこの問題で1日立ち往生しています。本当にこれを解決する必要があります。

編集:問題は25秒で発生します。その後、多くのメモリが割り当てられました。 問題は25秒で発生します。

オブジェクトリストから、次のものが表示され、最後まで繰り返し呼び出されます。 ここに画像の説明を入力してください

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

objective-c - NSPopover 内で NSAlert を実行する

私たちはメニューバーアイテムアプリを開発しています.の下に表示NSAlertされる 内にアラートを表示するカテゴリを書きたいです.NSPopoverNSStatusItem

これまでのところ、カテゴリは次の新しいメソッドを実装しています。

しかし、アラートを開く

次の視覚化が得られます。

NSPopover の NSAlert

問題は、表示されるように設定されていない 3 番目の空のボタンであるヘルプ ボタンとチェックボックスです。それらが設定されていない場合、それらを取り除く方法について何か考えはありますか?

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

objective-c - NSPopover コンテンツを片側にパディング

2 つの NSPopovers があり、どちらもまったく同じように設定されています (IB からカスタム NSView をリンクするだけです)。どちらも問題なくポップアップしますが、コンテンツが約 20px ずれているように見えます。

この NSPopover は (適切に) コンテンツをパディングしていません...

パディングなし

しかし、これはライド側から約20pxを追加します.

パディング

IB でレイアウトされた 2 つのビューを次に示します。

ここに画像の説明を入力

ご覧のとおり、検索バーは左側と同じように右側にピン留めする必要がありますが、何らかの理由でそうではありません。最初は制約の問題だと思っていましたが、しばらくいじってみると、そうではないことがわかりました。

何か手がかりはありますか?

編集:ビューをサブクラス化し、その四角形を埋めることに決めましたが、非常に奇妙な結果が得られました! ビューがオフセットされているように見えます。これがなぜなのかはわかりません...

ここに画像の説明を入力 ここに画像の説明を入力

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

cocoa - 2 つの垂直ヘッダーを持つ NSTableview

私はこのようなことを達成しようとしています:ここに画像の説明を入力

ビューベースの NSTableview を取得しました。このテーブルビューに検索結果を表示したいと思います。しかし、Web の検索結果とローカル ライブラリの検索結果を別々に表示する必要があります。それで、NSTableviewで2つのヘッダーを垂直に整列させる方法を知りたいですか、それとも表示された画像で何か別のものを使用していますか?

ありがとう

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

cocoa - 各ビューを含むビューベースの NSTableView には、テキストに基づいてサイズ変更する必要がある 3 つのラベルが含まれています

以下に示すように、ポップオーバーでビューベースのテーブルビューを作成する必要があります。

  • テーブルビューはポップオーバーに配置する必要があります(ポップオーバーの高さはテーブルビューと同じにする必要があります)。
  • 各行にはビューが含まれている必要があります。
  • 各行ビューには 3 つのラベルが含まれます。
  • ラベルは、テキストの高さに基づいて自動サイズ変更可能にする必要があります。
  • 3 つのラベルの高さに基づいて、セル行の高さを変更する必要があります。
  • すべてのセル行に基づいて、テーブルビューの高さを変更する必要があります。
  • テーブルビューの高さに基づいて、ポップオーバーのサイズを変更する必要があります。

私はこれを静的形式で行いましたが、より動的な形式で行う必要があります (将来、同じクラスとメソッドを使用してさらに行を追加できるはずです)。

私が直面している主な問題は、tableView:heigthOfRow:この時点でラベルのテキストがわからないため、セルビューのサイズを計算できないことです。そのため、loadView 自体でテーブルビュー セルを作成し、配列に保存し、テーブルビュー デリゲート メソッドで配列からフェッチしました。しかし、これは間違ったやり方だと思います。

注: テーブルビューへのすべてのデータは、ビュー自体の読み込み中に提供されます。ラベルは編集できません。

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

macos - NSPopover のように動的にサイズ変更されるように RBLPopover を修正する方法についてアドバイスが必要です

RBLPopover は Github の Guys によって作成された Popover で、NSPopover を模倣することを目的としていますが、canBecomeKeyWindow などのいくつかの欠陥を修正しています。これは、現在 GitHub でホストしている Rebel Framework の一部です。このポップオーバーをステータスバー アプリケーションに使用することにしましたが、問題が発生しました。NSPopover は、表示されていて setContentSize を使用している場合、サイズを動的に変更してアニメーション化することができます。次に、アニメーションを新しく指定されたサイズに自動的にサイズ変更します。ただし、RBLPopover はそれを行っていません。RBLPopover のコードを 8 時間調べた後、これを修正できませんでした。1 つの理由は、ビューが内部で詳細にどのように機能するかについての私の部分の知識の遅れです。

RBLPopover のコードは次の場所にあります。

https://github.com/github/Rebel/blob/master/Rebel/RBLPopover.m

誰かがこれを修正する方法についてのヒントを教えてもらえますか? 私はコードを求めません。これを達成する方法についてのアドバイス/コンセプトだけです。親クラスに欠落しているメソッドはありますか? showRelativeToRect:ofView:preferredEdge: が変更する正しい方法だとは思いません。もっと基本的なものが欠けていると思いますが、わかりません。

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

objective-c - 別のviewControllerでNSPopoverを正しく設定する方法

非常に単純なテスト プログラムを作成しました。ボタンが1つ付いています。ボタンをクリックするNSPopoverと、ラベル付きの が表示されます。そのラベルは、独自のNSViewController.

目標は、メイン画面でボタンをクリックすると、ポップオーバーに の xib ファイルが表示されることですviewcontroller。また、xib ファイルのラベルには、テキストが「動作します」に設定されている必要があります。

まあ..それは動作しますが、ポップオーバーの 2 回目の読み込みにのみ有効です。ボタンの最初のクリックでは、ラベルはまだ古いデフォルト値のままです。しかし、2回目以降は「動く」。 この問題を引き起こしている可能性があることを知っている人はいますか? わずか 5 行のコードですコードはこのリポジトリで見ることができます --> https://github.com/patchthecode/testtest