問題タブ [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.
objective-c - Cocoa でカスタム モーダル シートを使用する際の問題
私の目的: アプリが長いループを処理している間に、決定的な NSProgressIndicator を含むカスタム シートを表示します。シートをドキュメントモーダルではなく、アプリケーションモーダルにしたい。ユーザーはモーダル シートを閉じることができません。アプリがループの処理を完了するまで待つ必要があります。
問題: カスタム シートをウィンドウに取り付けることができません。ウィンドウのタイトル バーがない別のウィンドウとして表示されます (シートのように)。また、ループが終了してもシートは解放されません (閉じません)。
シートとメイン アプリケーション ウィンドウ用に 2 つの個別の nib ファイルがあり、各ウィンドウ用に 2 つのコントローラー クラスもあります。
関連情報は次のとおりです: カスタム シートのコントローラーの実装:
メイン アプリケーション ウィンドウの実装。testFiles メソッドは、ボタンに接続された IBAction です。
1 つの考え: 正しくサブクラス化していますか? 代わりに NSWindowController を使用する必要がありますか? よろしくお願いします。
objective-c - Cocoa のモーダル ウィンドウ
カスタムモーダルウィンドウを作成しようとしていますが、これまでのコードは次のとおりです。
ウィンドウは正常にポップアップしますが、モーダルではありません。たとえば、リクエストの送信元である親ウィンドウに対して操作を実行できます。このメソッドは NSDocument オブジェクトから呼び出されます。
私は読んでみました:カスタム シートの使用
ただしmyCustomSheet
、どこにも宣言されていないため、何が何であるかはわかりません。NSWindow
インスタンス変数だと思います。
なぜモーダルではないのか理解できません。どんな助けでも大歓迎です。ありがとう
objective-c - beginSheet:代替ブロック?
Snow Leopardは、古いbeginSheetに代わるいくつかの方法を導入しませんでした:ブロックを使用して仕上げを行うことができる方法ですか?別のコールバックメソッドに含めるのは好きではありません。
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]
れます..NSLog
null
どうすればいいのかわからない。これを機能させるために必要なことは何ですか?私は助けが必要です..
ありがとう..
macos - NSTableView の「編集」イベントを使用する方法
NStableViewDelegate 内で、シート ウィンドウを使用して次のような編集操作を開始します。
表のセルをダブルクリックすると、期待どおりに動作します。シートが表示され、その入力を編集できます。
表のセルが選択されているときに Return キーを押すと、物事が配線される傾向があります。シートは表示されますが、Return キー イベントはシートに転送されます。次に、シートのデフォルトの SAVE ボタンが起動され、シートが消えます。残念ながら、編集する機会はありません;-)
shouldEditTableColumn: メソッド内で現在のキー イベントを使用する必要がありますか? はいの場合、どうすればよいですか?
cocoa - 私はBeginSheetを使用していますか?(MonoMac)
バグに遭遇した(ありそうもない)か、この関数を間違って使用している(おそらく)と感じています。メインウィンドウにシートを表示しようとしています。ただし、何らかの理由で、シートウィンドウはツールバーのない通常のウィンドウとしてポップアップし、メインウィンドウにまったく接続されていません。
今、私はcocoaとMonoMacにかなり慣れていないので、とにかく、ここにコードを許す必要があります。
私はここで何が間違っているのですか?
macos - OS X - NSViewController はどのようにしてそのウィンドウを見つけることができますか?
ドキュメント ベースのコア データ アプリがあります。NSViewController
メイン ドキュメント ウィンドウには多数のビューがあり、それぞれが必要に応じて切り替えられる独自のカスタムによって制御されます。これらのビュー コントローラーのそれぞれが、ドキュメント ウィンドウからカスタム モーダル シートをドロップダウンできるようにしたいと考えています。ただし、ビューは別のものでありMyDocument
nib
、IB のドキュメント ウィンドウにリンクすることはできません。これは、私が呼び出すときに
nil を指定しているためmainWindow
、シートが切り離されているように見えます。
助言がありますか?
どうもありがとう
macos - ビューコントローラはシートを所有できますか?
ビューコントローラ内からシートを呼び出したい(ユーザーがボタンをクリックするとシートが表示されます)。シートに個別のウィンドウコントローラー(アウトレットとアクションを含む)を含めることはできますか、それともシートの呼び出し元であるビューコントローラーをシートのコントローラーとして機能させることができますか?
ViewControllerとは別のInterfaceBuilder(.xib)ファイルからシートを表示する方法を決定しようとしています。シートにはポップアップメニュー項目に基づいたリストが含まれるので、その「ロジック」を別のコントローラーに配置したいと思います。を使ってみましたNSWindowController
が、うまくいきませんでした。
objective-c - 別の NIB からシートを表示する方法
別の NIB にウィンドウを配置し、独自の NSWindowController を与え、シートとしてスライドさせるにはどうすればよいですか?
(これはシートで行う典型的なことですか?)
メイン ウィンドウからカスタム シート (親ウィンドウのタイトル バーから下にスライドするウィンドウ) を表示しようとしています。私がやろうとしていることは標準だと思いますが、私がやりたいことを正確に行う方法についての明確な例や説明が見つかりません。
私がやろうとしていること:
- 私のアプリデリゲートは、「設定」シートを開くボタンがあるメインウィンドウを所有しています。
- 「設定」シート:
- 別のNIBにあります。
- NSWindowsController のサブクラスであるクラス SettingsWindowController に設定されたファイル所有者を持ちます
- ユーザーが「設定」をクリックすると、Apple の [サンプル コード] [1] を使用しようとしています。
以下の単純で多数の質問をお許しください。
- を呼び出すと、 になり
loadNibName:owner:
たくありません。これにより、アプリが「MyCustomSheet」の所有者を委任するためです。ただし、この方法で所有者を作成する方法がわかりません。owner
self
SettingsWindowsController
SettingsWindowsController
- シートで「起動時に表示」がチェック
loadNibName:owner:
されている場合、メイン ウィンドウからスライドするシートとしてではなく、ウィンドウを通常のウィンドウとしてすぐに表示します。 - シートで「起動時に表示」がチェックされていない場合、
beginSheet:modalForWindow:etc
「モーダルセッションにはモーダルウィンドウが必要です」が発生します。これは、私が Nib の所有者を作成したためだと確信してself
います (既に述べたように)。 - サンプル コードでは、@"SettingsSheet" という名前の Nib がインスタンス変数にどのように "関連付け" されているかわかりませんが、コードが最初にチェックするため、
settingsSheet
どうやら関連しているif (!settingsSheet)
ようです: (私はこれをコメントでマークしました//BUT HOW DOES THIS MAKE settingsSheet NOT nil?
)
このすべてをお読みいただきありがとうございます。
macos - Mac アプリのアラートの [OK] ボタンが機能しない
ボタンをクリックすると、以下のコードを使用しています
このtestViewControllerから、コードを使用してアラートを表示しています
ただし、このアラートの[OK]ボタンをクリックすると。アラートが画面に表示されたままです。助けてください!