問題タブ [nsopenpanel]

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 に答える
1152 参照

objective-c - フォルダからファイルを取得中に問題が発生しました。フォルダの認識中にエラーが発生しました。(目的c)

ユーザーに NSOpenPanel からフォルダーを選択させます。これは、file://localhost/Folder のようなファイルパスを返します。すべてがうまくいかない私のコードは次のとおりです。

ここで、どのフォルダーを選択しても、次のエラー メッセージが送信されます: The folder “Folder” does not exist." UserInfo=0x10518b320 {NSFilePath=file://localhost/Folder, NSUserStringVariant=( Folder ), NSUnderlyingError=0x10515d5e0 "操作を完了できませんでした。(OSStatus エラー -43。)"}

何が起こっている?!?これが最善の方法ではない場合、フォルダ内のすべてのファイルにアクセスするにはどうすればよいですか?

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

macos - NSOpenPanel-すべてが非推奨になりましたか?

私はその人にファイルを選択するように求めるウィンドウを表示しようとしていましたが、最終的にはそうしました。問題は、Xcodeが私が使用しているメソッドが非推奨であると文句を言うことです。クラスリファレンスを調べましたが、「実行中のパネル」セクションの下にあるものはすべて、MacOS10.6で非推奨になりました。今使っているはずの別のクラスはありますか?

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

macos - stringByReplaceingOccurenceOfString が失敗する

ユーザーにディレクトリを要求する Mac OS X アプリケーションを作成しようとしています。ユーザーが「参照」ボタンを押したときにトリガーされる NSOpenPanel を使用しています。

問題は、[NSOpenPanel filenames] が廃止されたため、現在は URL 関数を使用していることです。通常のファイルパスを取得するだけのURLに関連するものを解析したいと思います。だから私は試しfileName = [fileName stringByReplacingOccurrencesOfString:@"%%20" withString:@" "];ましたが、それは私にエラーを与えました:

メソッド全体は次のとおりです。

興味深いことに、「Foo」はコンソールに出力されません。メソッドが stringByReplacigOccurencesOfString 行で中止されるようなものです。

その 1 行を削除すると、アプリが実行され、テキスト ボックスに文字列が URL 形式で入力されますが、これは望ましくありません。

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

cocoa - NSOpenPanelが閉じた後に何かをする

NSOpenPanelがあり、ユーザーが[OK]をクリックした後、選択の検証を行いたいと思います。私のコードは単純です:

[self window]アプリケーションモーダルウィンドウです。パネルがシートとして開きます。ここまでは順調ですね。

Appleのドキュメントによると、完了ハンドラーは「ユーザーがパネルを閉じた後に」呼び出されることになっています。しかし、私の場合は、パネルが閉じたときではなく、「OK/キャンセル」ボタンを押すとすぐに呼び出されます。これにより、パネルが閉じた後ではなく、開いているパネルの上でエラーアラートが開きます。それでも動作しますが、Macのようなものではありません。

ユーザーが[OK]をクリックし、開いているパネルシートを折りたたんでから、アラートシートを表示することをお勧めします。

遅延セレクターを使用してアラートを表示できると思いますが、それはハックのようです。

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

xcode - ファイルの選択時にNSOpenPanelがクラッシュする

NSOpenPanelを使用して、ユーザーがMACからファイルを選択できるようにしています。パネルが正常に開き、正しいファイルが除外されますが、ファイルをクリックするとすぐにアプリケーションがクラッシュします。

パネルを開くための私のコードは次のとおりです。

runmodalForDirectoryメソッド呼び出しからコードが返されることはありません。

したがって、ファイルを選択すると、デバッガコンソールは次のように表示します。

簡単に言うと、現時点でdlOpenを呼び出すのは安全ではないと思います。

そして、私はこれを取得します:

たくさんのスタックフレームを読み込んでいます

コールスタックは次のようになります。

コールスタック

再帰呼び出しが発生する前にスタックを呼び出します。

ここに画像の説明を入力してください

呼び出しスタックは、WebFullScreenController.mmというWebKitフレームワークファイルにあり、このメソッドsetDisableActionsを再帰的に呼び出します。

なぜこれが起こっているのか誰かが何か考えを持っていますか?前もって感謝します。

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

cocoa - Cocoa-Applescript NSOpenPanel?

NSOpenPanelCocoa-Applescriptでどうすればよいですか?良いチュートリアルはありますか?私はApplescriptに精通していますが、実際にはCocoaの部分ではありません。nibNSOpenPanelにはが必要ですか?Automatorアクションを実行しています。私の前の質問を参照してください

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

cocoa - NSOpenPanel/NSSavePanel: ダイアログが開く前にファイルを事前に選択するにはどうすればよいですか?

ユーザーに提示するときNSOpenPanel、ユーザーが以前に開いたファイルを最初から選択したいと思います。

ディレクトリを事前に選択する必要があり[NSSavePanel setDirectoryURL:(NSURL*)ますが、初期ファイルを選択するための API が見つかりません。

以前は次のものがありました:

この電話はまさに私が必要としているものです。ドキュメントは言う:

[保存] パネルがユーザーに表示されるときに選択されるパス内の特定のファイルを指定します。nil の場合、最初はファイルが選択されていません。

残念ながら、そのメソッドは 10.6 で廃止されました。

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

objective-c - NSOpenPanel が閉じるまでプログラムを待機させるにはどうすればよいですか?

タイトルの状態のように、プログラムNSOpenPanelが終了するまで待機させる必要があります。windowControllerWillLoadNibドキュメントウィンドウが開く前にパネルが開くようにします。しかし、何が起こるかというと、パネルが閉じるのを待たずに両方のウィンドウをロードするだけです。開いているパネルが閉じて完全に終了するまで待機させるにはどうすればよいですか?

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

objective-c - NSOpenPanelダイアログの位置とサイズを設定するにはどうすればよいですか?

私はMacのプログラミングの経験があまりなく、Windowsのバックグラウンドを持っています。

したがって、このコードを使用してNSOpenPanelを表示しますが、ダイアログが表示されたときに画面上の位置とサイズも指定したいと思います。それ、どうやったら出来るの?

編集


電話することで

NSOpenPanelのサイズ(500x500ピクセルになります)を設定できますが、左上隅ではなく、画面の左上隅に表示されるのではなく、画面の中央に配置されます。

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

macos - runModalForTypesは機能しますが、setAllowedFileTypes + runModalは機能しませんか?

使うとき

期待どおりに動作します(PDFファイルのみを選択できます)が、

PDFだけでなく、すべての種類のファイルを選択できます。ドキュメントには、runModalForTypesは非推奨であり、2番目の方法を使用する必要があると記載されています。私は何か間違ったことをしていますか?