問題タブ [nssavepanel]
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.
cocoa - NSSavePanel:「置換を確認しますか?」ダイアログ
Nav Servicesの世界では、既存のファイル名で保存するときにユーザーにファイルの置換を確認するように求めないkNavDontConfirmReplacement
を作成するオプションとして指定できます。NavDialogRef
Cocoaで同等の動作を指定するにはどうすればよいNSSavePanel
ですか?
objective-c - ファイル名の一部を選択するNSSavePanel
NSSavePanelで選択されているファイル名の部分を設定するにはどうすればよいですか?ファイル名だけを選択し、ファイル拡張子は選択しないでください。
これが私が気づいたことです。保存パネルにSetAllowedFileTypes:を設定すると、ファイル名のみが選択され、ファイル拡張子は選択されません。ただし、許可されるファイルタイプを設定しない場合は、ファイル名とともにファイル拡張子が選択されます。
setAllowedFileTypesを使用したくないが、ファイル拡張子が選択されないように選択を制御したい。それはできますか?
cocoa - NSSavePanelを使用してディレクトリを選択するにはどうすればよいですか?
アプリがいくつかのファイルを保存できる既存または新しいディレクトリをユーザーが選択する必要があります。
NSSavePanelでこれを行うことはできますか、それとも別のディレクトリセレクタークラスがありますか?
cocoa - NSSavePanel beginWithCompletionHandler の完了ハンドラーが呼び出されない
NSSavePanel
orNSOpenPanel
インスタンスを開いたときにbeginWithCompletionHandler:
、ハンドラーが呼び出されることはありません。代わりに、ユーザーにファイルを選択させずにパネルが消える前に、パネルが一瞬表示されます。パネルを開くと、runModal
問題なく動作します。ここにコード:
ここに欠けているものはありますか?
ありがとう、マーク
objective-c - NSView を png ファイルに保存しますか?
私がプレイするゲームのゲーム カードを作成する簡単なプログラムを作成しています。私はテストのために私の友人にそれを送りましたが、彼らは本当に画像を印刷するだけでなく、画像を保存することを望んでいます. .png ファイルとして保存しようとしました。ここで質問があります。
ビューのすべての NSImageWells を含む、ビューを .png ファイルとして保存するにはどうすればよいですか。
NSPopupButton を NSSavePanel に追加して、ユーザーが形式を選択できるようにするにはどうすればよいですか?
どんな助けでも大歓迎です。
cocoa - 非文書ベースのアプリケーションCocoaの「名前を付けて保存」
私は基本的に「sox」を使用してシェルスクリプトを介してファイルを作成するプロジェクトに取り組んでいます。アプリケーションはドキュメントベースではなく、ファイルを作成するスクリプトを呼び出すだけで、データを内部的に保存しません。ただし、スクリプトを実行する前に、ファイルの保存場所と使用するファイル名をユーザーに確認する必要があります。「名前を付けて保存」ダイアログボックスを使用して、ユーザーからファイルパス/ファイル名を取得してシェルスクリプトに渡すための最良の方法は何でしょうか。
objective-c - NSDocumentクラスの外部からココアドキュメントを保存する
私のアプリワークフロー中に、新しいモーダルNSWindowがペン先から初期化される瞬間があります。このウィンドウには、[ドキュメントの保存]ボタンがあります。推奨されるアプローチは次のとおりです。
- 新しいNSSavePanelを介して、新しくインスタンス化されたモーダルウィンドウに移動し、ここで保存フロー全体をカスタマイズしますか?
- 上記のウィンドウのボタンから保存メッセージを受信するメインNSDocumentクラスを使用しますか?もしそうなら、どのようにドキュメントを保存しますか?
- 他のシナリオはありますか?
objective-c - メインスレッドからのみ NSSavePanel runModal メソッドを呼び出す必要がありますか?
まれですが、アプリケーションで異常なクラッシュが発生します。
メインスレッドとは別のスレッドで呼び出されたためrunModal
に発生したと思われます。NSSavePanel
それがクラッシュの原因である可能性があるというのは正しいですか?
cocoa - NSSavePanelとサンドボックス
新しいライオンのサンドボックスを理解するのにいくつか問題があります。
Powerbox
Lionには、サンドボックス化されたアプリケーションに代わってダイアログボックスを開いたり保存したりすることを任務とする信頼できるデーモンプロセスが含まれていることを知っています。
サンドボックス内で実行されているアプリケーションがパネルを直接表示するのではなく、NSOpenPanelまたはNSSavePanelダイアログを呼び出すたびに、AppKitは自動的にPowerboxにダイアログを表示するように要求します。開発者の観点からは、これらのパネルの使用方法に関してコードを変更する必要はありません。このプロセスは完全に透過的です。
ユーザーがファイルまたはディレクトリのセットを選択すると、Powerboxはサンドボックスカーネルモジュールの新機能を使用して、呼び出し元のアプリケーションのサンドボックスを拡張し、選択したファイルにアクセスできるようにします。アプリケーションコードが返されたURLまたはファイル名をパネルに照会するときまでに、アプリケーションコードはそれらのファイルにアクセスする権限をすでに持っており、すでに使用しているほとんどすべてのAPIを介してファイルを引き続き使用できます。
Ok。私はこのコードを使用していくつかの実用的なテストを行いました:
奇妙なことにNSOpenSavePanelDelegate
、完了ハンドラーの前に呼び出されるメソッドは、ファイルシステム上のファイルにアクセスできません。
これは正しいです?
しかしそうだとすれば、デリゲートのような方法panel:validateURL:error:
は役に立たなくなります!
アプリとの関係について詳しく説明してもらえますPowerbox
か?
sandbox - サンドボックス化されたアプリケーションで NSSavePanel を使用してファイルを置き換える
NSSavePanel
このコードを使用して作成します:
保存パネルでユーザーが既存のファイルを選択すると、「“XXX” は既に存在します。置き換えますか?」という警告ボックスが表示されます。
ユーザーが「置換」ボタンを押すと、完了ハンドラーで のremoveItemAtPath:error:
メソッドで古いファイルが削除されNSFileManager
、新しいファイルが作成されます (実際には、一時的な場所に作成され、moveItemAtPath:toPath:error:
メソッドを使用して移動されますが、私はこれは単なる実装の詳細だと思います):
過去には、すべてが常に適切に機能していました。しかし今日、私は「読み取り/書き込みアクセス」の資格を持つ Lion's Sandbox を使い始めました。
サンドボックスでremoveItemAtPath:error:
は成功しますが、以下moveItemAtPath:toPath:error:
はエラーを返します。
Powerbox はファイルに (読み書きで) アクセスする権利を与えてくれるので、これは合理的だと思われます。このファイルを削除すると、私に与えられた権利がなくなります。
私の推測は正しいですか?
どうすればこの問題を解決できますか?