問題タブ [cocoa-sheet]

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 投票する
2 に答える
3973 参照

objective-c - Cocoa でカスタム モーダル シートを使用する際の問題

私の目的: アプリが長いループを処理している間に、決定的な NSProgressIndicator を含むカスタム シートを表示します。シートをドキュメントモーダルではなく、アプリケーションモーダルにしたい。ユーザーはモーダル シートを閉じることができません。アプリがループの処理を完了するまで待つ必要があります。

問題: カスタム シートをウィンドウに取り付けることができません。ウィンドウのタイトル バーがない別のウィンドウとして表示されます (シートのように)。また、ループが終了してもシートは解放されません (閉じません)。

シートとメイン アプリケーション ウィンドウ用に 2 つの個別の nib ファイルがあり、各ウィンドウ用に 2 つのコントローラー クラスもあります。

関連情報は次のとおりです: カスタム シートのコントローラーの実装:

メイン アプリケーション ウィンドウの実装。testFiles メソッドは、ボタンに接続された IBAction です。

1 つの考え: 正しくサブクラス化していますか? 代わりに NSWindowController を使用する必要がありますか? よろしくお願いします。

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

objective-c - Cocoa のモーダル ウィンドウ

カスタムモーダルウィンドウを作成しようとしていますが、これまでのコードは次のとおりです。

ウィンドウは正常にポップアップしますが、モーダルではありません。たとえば、リクエストの送信元である親ウィンドウに対して操作を実行できます。このメソッドは NSDocument オブジェクトから呼び出されます。

私は読んでみました:カスタム シートの使用

ただしmyCustomSheet、どこにも宣言されていないため、何が何であるかはわかりません。NSWindowインスタンス変数だと思います。

なぜモーダルではないのか理解できません。どんな助けでも大歓迎です。ありがとう

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

objective-c - beginSheet:代替ブロック?

Snow Leopardは、古いbeginSheetに代わるいくつかの方法を導入しませんでした:ブロックを使用して仕上げを行うことができる方法ですか?別のコールバックメソッドに含めるのは好きではありません。

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

objective-c - Interface Builder を使用した複数のウィンドウの操作

Cocoa で複数のウィンドウを操作するには? ココア アプリケーションを作成しました。そのアプリケーションを実行すると、デフォルトのウィンドウが自動的に表示されます。ウィンドウにボタンを追加しました。ボタンをクリックすると、IB で作成した MySecondWindow という名前の別のウィンドウが開きます。

MySecondWindow のウィンドウ コントローラー (MySecondWindowController) を作成し、IB の nib にリンクしました。メイン ウィンドウのボタンをクリックすると、MySecondWindowController のインスタンスを作成する IBAction が呼び出されNSApp beginSheet:[mySecondWindowObj window]. Modal session requires modal windowでメッセージを受信して​​いますNSlog。で印刷しようとすると、印刷さ[mySecondWindowObj window]れます..NSLognull

どうすればいいのかわからない。これを機能させるために必要なことは何ですか?私は助けが必要です..

ありがとう..

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

macos - NSTableView の「編集」イベントを使用する方法

NStableViewDelegate 内で、シート ウィンドウを使用して次のような編集操作を開始します。

表のセルをダブルクリックすると、期待どおりに動作します。シートが表示され、その入力を編集できます。

表のセルが選択されているときに Return キーを押すと、物事が配線される傾向があります。シートは表示されますが、Return キー イベントはシートに転送されます。次に、シートのデフォルトの SAVE ボタンが起動され、シートが消えます。残念ながら、編集する機会はありません;-)

shouldEditTableColumn: メソッド内で現在のキー イベントを使用する必要がありますか? はいの場合、どうすればよいですか?

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

cocoa - 私はBeginSheetを使用していますか?(MonoMac)

バグに遭遇した(ありそうもない)か、この関数を間違って使用している(おそらく)と感じています。メインウィンドウにシートを表示しようとしています。ただし、何らかの理由で、シートウィンドウはツールバーのない通常のウィンドウとしてポップアップし、メインウィンドウにまったく接続されていません。

今、私はcocoaとMonoMacにかなり慣れていないので、とにかく、ここにコードを許す必要があります。

私はここで何が間違っているのですか?

0 投票する
5 に答える
29803 参照

macos - OS X - NSViewController はどのようにしてそのウィンドウを見つけることができますか?

ドキュメント ベースのコア データ アプリがあります。NSViewControllerメイン ドキュメント ウィンドウには多数のビューがあり、それぞれが必要に応じて切り替えられる独自のカスタムによって制御されます。これらのビュー コントローラーのそれぞれが、ドキュメント ウィンドウからカスタム モーダル シートをドロップダウンできるようにしたいと考えています。ただし、ビューは別のものでありMyDocument nib、IB のドキュメント ウィンドウにリンクすることはできません。これは、私が呼び出すときに

nil を指定しているためmainWindow、シートが切り離されているように見えます。

助言がありますか?

どうもありがとう

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

macos - ビューコントローラはシートを所有できますか?

ビューコントローラ内からシートを呼び出したい(ユーザーがボタンをクリックするとシートが表示されます)。シートに個別のウィンドウコントローラー(アウトレットとアクションを含む)を含めることはできますか、それともシートの呼び出し元であるビューコントローラーをシートのコントローラーとして機能させることができますか?

ViewControllerとは別のInterfaceBuilder(.xib)ファイルからシートを表示する方法を決定しようとしています。シートにはポップアップメニュー項目に基づいたリストが含まれるので、その「ロジック」を別のコントローラーに配置したいと思います。を使ってみましたNSWindowControllerが、うまくいきませんでした。

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

objective-c - 別の NIB からシートを表示する方法

別の NIB にウィンドウを配置し、独自の NSWindowController を与え、シートとしてスライドさせるにはどうすればよいですか?

(これはシートで行う典型的なことですか?)

メイン ウィンドウからカスタム シート (親ウィンドウのタイトル バーから下にスライドするウィンドウ) を表示しようとしています。私がやろうとしていることは標準だと思いますが、私がやりたいことを正確に行う方法についての明確な例や説明が見つかりません。

私がやろうとしていること:

  1. 私のアプリデリゲートは、「設定」シートを開くボタンがあるメインウィンドウを所有しています。
  2. 「設定」シート:
    • 別のNIBにあります。
    • NSWindowsController のサブクラスであるクラス SettingsWindowController に設定されたファイル所有者を持ちます
  3. ユーザーが「設定」をクリックすると、Apple の [サンプル コード] [1] を使用しようとしています。

以下の単純で多数の質問をお許しください。

  • を呼び出すと、 になりloadNibName:owner:たくありません。これにより、アプリが「MyCustomSheet」の所有者を委任するためです。ただし、この方法で所有者を作成する方法がわかりません。ownerselfSettingsWindowsControllerSettingsWindowsController
  • シートで「起動時に表示」がチェックloadNibName:owner:されている場合、メイン ウィンドウからスライドするシートとしてではなく、ウィンドウを通常のウィンドウとしてすぐに表示します。
  • シートで「起動時に表示」がチェックされていない場合、beginSheet:modalForWindow:etc「モーダルセッションにはモーダルウィンドウが必要です」が発生します。これは、私が Nib の所有者を作成したためだと確信してselfいます (既に述べたように)。
  • サンプル コードでは、@"SettingsSheet" という名前の Nib がインスタンス変数にどのように "関連付け" されているかわかりませんが、コードが最初にチェックするため、settingsSheetどうやら関連しているif (!settingsSheet)ようです: (私はこれをコメントでマークしました//BUT HOW DOES THIS MAKE settingsSheet NOT nil?)

このすべてをお読みいただきありがとうございます。

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

macos - Mac アプリのアラートの [OK] ボタンが機能しない

ボタンをクリックすると、以下のコードを使用しています

このtestViewControllerから、コードを使用してアラートを表示しています

ただし、このアラートの[OK]ボタンをクリックすると。アラートが画面に表示されたままです。助けてください!