問題タブ [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.

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

objective-c - NSSavePanel ファイル パス

NSSavePanelは、テキスト ファイルを扱う場合にのみ使用します。エクスポートする画像がある場合は、ユーザーがディレクトリを選択できるようにNSOpenPanelを使用します。サンドボックスのファイル パスの制限に引っかかることはありません。今回は、NSSavePanel を使用して、ユーザーが画像ファイル (bmp、gif、jpeg、jp2、png) を保存できるようにします。

この NSSavePanel には AccessoriesView コントロールがあり、ユーザーはNSPopupMenuでグラフィック形式を選択できます。そのインデックスは formatIndex1 です。アプリケーションがサンドボックス化されている場合、コードが失敗することはわかっています。これは、ユーザーが選択した正確なパスが path0 であり、上記のコードが exportfile2 に到達する前にファイル拡張子を追加するためです。では、ファイル拡張子付きの正確なパスを取得するにはどうすればよいでしょうか。 「拡張子を非表示」がオフの場合、プレビューはファイル拡張子を自動的に追加します。それでも、Preview は画像のエクスポートに失敗しません。

ご協力ありがとうございました。

0 投票する
4 に答える
2167 参照

objective-c - デフォルトの NSSavePanel からファイル URL パスを取得する

デフォルトの [名前を付けて保存] ダイアログ シートからファイルの URL を取得するにはどうすればよいですか? Xcode で Snow Leopard 10.6 SDK を使用してドキュメントベースのアプリケーションを使用しています。

インターネットと Apple のドキュメントを 2 日間探し回った結果、[名前を付けて保存] ダイアログ シートの固有のインスタンスを使用する回答しか見つかりませんでした。誰もが独自の [ファイル] -> [保存] 機能を作成して車輪を再発明したいと考えているようですが、それは私がやろうとしていることではありません。私はすでにそれを行っています!

たとえば、私はこのアプローチを使用したくありません。デフォルト-(void)saveDocumentAs:senderNSDocument次のように置き換えたくありません。

NSSavePanelむしろ、ユーザーがデフォルトシートからファイル用に選択したファイル URL だけが必要です。このテストからわかるfileTypeFromLastRunSavePanelように、 はブロック内では機能しないため、ファイル URL ではなくデフォルトの保存パネルでファイル タイプを取得するか、ファイルではなくカスタム保存パネルからファイル URL を取得します。型くずれもありませんfileTypeFromLastRunSavePanel

  1. ユーザーがファイルを開く
  2. ユーザーがファイルを変更する
  3. ユーザーが「名前を付けて保存...」
  4. ユーザーはファイルの新しい名前を入力し、[保存] を押します
  5. ファイルの新しい名前が必要です。savePanel の独自のインスタンスを作成せずに取得するにはどうすればよいですか?

編集: [self fileURL]NSDocument サブクラス内で試しました

メソッドですが、ドキュメントが既にディスクに保存されていない限り、null を返します。

編集 2: ここで私が求めていることを具体的に明確にするために、NSSavePanel の savePanel の独自のインスタンスではなく、デフォルトの NSSavePanel savePanel からユーザーが選択した URL を取得するにはどうすればよいですか? NSSavePanel のサブクラスを作成してそのメソッドをオーバーライドせずにこれを行うことはできますか? 独自の NSSavePanel インスタンスにその機能を追加しなくても、デフォルトの savePanel でユーザーが選択したファイルへのある種の URL 参照が与えられるのは理にかなっていると思いました。

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

objective-c - NSSavePanel をサブクラス化することは可能ですか?

NSSavePanel をサブクラス化する方法があるかどうか疑問に思っています。または、ダミー オブジェクトを作成する場合、NSSavePanel の beginSheetModalForWindow:CompletionHandler 関数をどのように模倣しますか?

.m クラス ファイルで関数を実装するときに、ブロック ハンドラを実装する方法を空白にしています。

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

macos - NSSavePanelの「キャンセル」ボタンのタイトルをカスタマイズするには?

-setPrompt:メソッドを使用して、[OK] ボタンをカスタマイズできます。しかし、キャンセルをカスタマイズする方法が見つかりませんでした。これを達成できますか?

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

objective-c - NSSavePanel setNameFieldStringValue:@"Untitled" サンドボックス アプリのバグ

ドキュメントに何も見つからず、バグのようです:の名前フィールドの文字列値@"Untitled"として指定すると、実行時にテキストフィールドが空になります。NSSavePanelそれ以外を指定すると、すべてが機能します (OSX 10.8、SDK 10.8)。また、サンドボックス化されたアプリでのみ発生します。

再現するサンプル プロジェクトは次のとおりです: https://www.dropbox.com/s/catecqe68a0omp3/savepanel.zip

誰かが同じ問題を抱えていますか?

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

objective-c - NSSavepanel で名前を付けて保存およびタグ フィールドを非表示にする方法

カスタム保存パネルを作成しようとしています。フィールドとチェックボックスを のaccessoryViewプロパティで追加できますNSSavePanelが、ラベル フィールドとしてデフォルトの保存を非表示にし、写真のようにタグ ラベルとフィールドを非表示にしたいここに画像の説明を入力これを行う方法はありますか?

json アクセラレータアプリのスクリーンショット 。それNSSavepanelまたは他のコントロールですか?

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

macos - NSSavePanel から選択されたファイルの種類を知るにはどうすればよいですか?

Mavericks システムでアプリを作成しています。ファイルを保存するために NSSavePanel を呼び出しています。可能な保存タイプとして使用する UTI の NSArray をパネルに与えることができ、(おそらく) パネルは出力タイプのアクセサリ ビューを自動的に生成します。パネルの完了ブロック中に、パネルの「URL」プロパティを使用して、ファイルを取得 (場合によっては作成および) することができます。しかし、どの出力タイプが選択されたかを示すプロパティはないようです。

URL のファイル拡張子を確認する必要がありますか? これは、自由な範囲の拡張子の命名を許可するオプションがあるためですか? (ここではそのオプションをオンにしていません。)

また、私の NSArray の UTI は、ランダム タイプの後に固定タイプが続きます。現在、ランダム タイプと等しくない場合にのみ、固定タイプを追加しています。同じ UTI を複数回使用すると、パネルがクラッシュしますか? または、重複して崩壊しますか? クラッシュしない場合は、無条件の追加で時間を節約できます。

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

cocoa - サンドボックス環境で NSSavePanel を閉じる

サンドボックス環境ではNSSavePanel、Powerbox プロセスによって制御されます。

NSSavePanelユーザーが明示的に「キャンセル」をクリックしたり、Esc キーを押したりせずに、を閉じる方法があるかどうか疑問に思っています。たとえば、 のアクセサリ ビューに「閉じる」ボタンを追加したい場合、それNSSavePanelを行う方法はありますか?