問題タブ [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 に答える
1008 参照

objective-c - NSOpenPanel で開くために既定のファイルを選択するにはどうすればよいですか?

古い方法は[ MyPanel runModalForDirectory: thedir file: thefile ]で、パネルは指定されたディレクトリで開き、指定されたファイルがすでに選択されていました。

これは非推奨です。今は runModal を使用することになっていますが、選択したファイル名を設定する方法がわかりません。私はsetDirectoryURLの文字列にそれを含めてみました.setRepresentedFilenameを試しました.選択されたものでも、Apple のドキュメントでもありません....

あなたが助けることができればありがとう!

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

objective-c - NSOpenPanelはパッケージを選択できますが、コンテンツは表示できません

NSOpenPanelに次のことを実行させようとしています。

  1. ファイルを選択できません

  2. ディレクトリとパッケージを選択できます

  3. パッケージの内容が表示されない

最初の2つのポイントを取得するには、次を使用する必要があります。

ただし、これは、列ビューでパッケージを選択すると、パッケージの内容が表示されることを意味します。[openDlg setCanChooseFiles:YES]; [openDlg setTreatsFilePackagesAsDirectories:NO];パッケージを選択できるが、選択したときに列ビューブラウザにコンテンツが表示されない場合に発生する動作が必要です。

何か案は?

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

objective-c - NSOpenPanelを使用して、ディレクトリ全体ではなくファイル名だけを取得するにはどうすればよいですか?

これは私のコードです:

しかし、出力は次のようなものですfile://localhost/Volumes/....

選択したファイル(Cat.jpgなど)のベース名を取得するにはどうすればよいですか?

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

objective-c - NSOpenPanelにカスタムディレクトリを開かせる

NSOpenPanelが開くデフォルトウィンドウであるシステム上のフォルダにURLを渡す方法はありますか?ありがとう!

アップデート:

デフォルトで開きたいディレクトリである上記のコードを使用しています。ただし、取得しているデフォルトのウィンドウは、最後にアクセスしたウィンドウであり、指定したウィンドウではありません。URLディレクトリにアクセスするにはどうすればよいですか?

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

objective-c - サンドボックス化されたアプリで NSURL にアクセスできるかどうかを検出する方法は?

プレビュー アクセサリ ビューを備えたオープン パネルを持つ OS X アプリケーションを作成しています。

問題は、サンドボックス権限のあるフォルダーにないファイルを選択すると、プレビューできないことです。

ファイルを開こうとする前に、サンドボックスのアクセス許可によってファイルが制限されるかどうかを確認する方法はありますか?

私はすでにクラスを試し- (BOOL)checkResourceIsReachableAndReturnError:(NSError **)error ましたがNSURL、ファイルが保護されていてもtrueを返します。

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

cocoa - サンドボックス化されたアプリのNSSavePanelとNSOpenPanelのアクセサリビューでの奇妙な動作

NSSavePanelとNSOpenPanelのアクセサリビューに問題があります。

時々(非常に頻繁に)これらのパネルの1つを開くと、アクセサリビューが機能しません(ビューは表示されますが、コントロールが無効になっているように見えます)。

パネルを表示するためにこのコードを使用しています:

これは、app-sandboxが有効になっている場合にのみ発生します。

多くのテストを行った後、何が起こっているのかは、ビューが置き忘れられている(パネルに取り付けられていない)ことであることがわかりました。

Mission Controlを開いて、マウスポインターをアプリのウィンドウ上に移動すると、「非表示」ウィンドウが強調表示され、それを選択すると、アクセサリビューを制御できるようになります(すべてのコントロールが機能します)が、開いているパネルまたは保存パネルから切り離されているように見えますスクリーンショットに示されているように。

スクリーンショット

この動作をテストするためだけに新しいアプリを作成しようとしましたが、再現できなかったので、それは私のアプリと関係があると思います。

私が間違っているかもしれないことのヒントはありますか?

この問題を解決するためだけに、すべてを最初からコーディングしたくはありません。

編集

ちなみに、ウィンドウを閉じると、ウィンドウを閉じる直前に、アクセサリビューがコントロールの正しい値で点滅します。アプリケーションがパネルの表示に間に合うようにビューを追加していないようです。

アップデート1

アクセサリビューとして使用されるビューをサブクラス化したところ、

と呼ばれますが

ビューが正しく表示されていても呼び出されることはありませんが、これは正常な動作ですか?

アップデート2

呼び出す必要があることを確認し- (void)viewDidMoveToSuperviewました。テストアプリでは、両方のメソッドが呼び出されます。

また、自分のアプリとテストアプリの間にわずかな違いがあることに気づきました。私のアプリでは、パネルは下にスライドするだけですが、テストアプリでは、パネルが「下にフリップ」しているように見えます(正確に説明する方法がわかりません)。パネルの表示方法は私には関係ありません。同じように表示されていないことに気づきました。

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

objective-c - NSOpenPanel が空白を含むファイル名から NSUrl に正しくアクセスしない

検索を行いましたが、これに関する問題は見つかりませんでした。

私のアプリケーションは .csv ファイルを受け取り、データを切り替えて、会社が便利だと思う方法で出力します。問題は、プログラムが空白のないファイル名を要求しているように見えることです。たとえば、「My data.csv」は機能しませんが、「My_data.csv」は機能します。これが、関連するコードであると私が信じているものです

デバッグモードでは、「オブジェクト」は空白を含むファイル名の場合は nil として表示され、「tempdump」文字列は空白を含むファイル名の場合は @「nil」として表示されますが、names_with_underscores の場合は見事に表示されます

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

objective-c - メソッド panelSelectionDidChange が NSOpenSavePanelDelegate プロトコルから 2 回呼び出されました

プロトコルを実装NSOpenSavePanelDelegateし、NSOpenPanel に関連付けられているクラスがあります。

NSLog()メソッドに aを含めた- (void)panelSelectionDidChange:(id)senderところ、次のことに気付きました。

panelSelectionDidChange呼び出されたファイルを最初に選択して確認すると、選択したファイル[sender URL]の URL が取得されますが、別のファイルを選択する panelSelectionDidChangeと、2 回呼び出され、最初[sender URL]に最後の URL が呼び出され、2 回目に呼び出されたときに次[sender URL]の URL が呼び出されます。新しく選択したファイル。

しかし、ファイルをクリックする代わりにキーボードの矢印を使用してファイルを選択するpanelSelectionDidChangeと、正しい URL で一度だけ呼び出されます。

これは正常な動作ですか、それとも何か間違ったことをしていますか?

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

objective-c - NSOpenPanelの表示の問題

NSOpenPanelユーザーがファイルを選択できるようにするために使用しています。ただし、のUIがNSOpenPanel再生されることがあります。サイドバーが表示されることもあれば、表示されないこともあります。選択したフォルダ(この場合は「CookieStumbler」)は、スクロールするだけで開いているパネルの中央/下部/どこにでも移動でき、アプリケーション全体が停止することがあります。

メインスレッドの使用のNSOpenPanel一部としてを呼び出しています。「UIが応答するのを待っています」という行に沿って一度ログに記録したことを覚えていますが、何もログインしていません。IBActionConsole.app

NSOpenPanel設定方法は次のとおりです。

どうしたの?

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

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

macos - NSWindow をツールバー シートとして表示

NSWindow下の図のように、ツールバーからをどのように表示しNSOpenPanelますか?

ここに画像の説明を入力