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

objective-c - NSSavePanelを使用すると、ユーザーはどのようにして保存する特定のファイルタイプを選択できますか?

ユーザーがCSV、JSON、XMLの3つの異なる形式でデータをエクスポートできるようにするアプリケーションをCocoaで作成しています。許可された拡張機能をNSSavePanelに追加しました。

ただし、「ファイル形式」リストボックスが提供されているテキストエディットなど、ユーザーが保存する形式を選択できるようにNSSavePanelを設定するにはどうすればよいですか。これが可能な場合、どの形式が選択されたかをどのように判断しますか?

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

objective-c - アプリをサンドボックス化した後、NSSavePanel がファイルを保存しない

NSSavePanelMac App Store 用にアプリをサンドボックス化した後、文字列ファイルを保存するときに問題が発生しました。に設定com.apple.security.files.user-selected.read-writeYESNSOpenPanel正常に動作しています。

ただし、新しいファイルを保存しようとすると、すべてが正常に機能しているように見えますが、あるべき場所に保存されたファイルがありません....

これは、ファイルを保存するために使用しているコードです。

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

objective-c - NSSavePanelを使用した後、アプリが閉じない

NSSavePanelを使用した後、アプリを閉じるのに問題があります...アプリを開いて操作してから閉じると、正しい方法で閉じます...このコードをappdelegateに入れてアプリを閉じる

しかし、パネルを開いてtxtファイルを保存すると... NSSavePanelを使用して...また、パネルを開いて使用しない場合... [キャンセル]ボタンをクリックすると、アプリが閉じなくなります...赤いxをクリックしてアプリを閉じると、ウィンドウは消えますが、アプリはアクティブなままで、メインウィンドウを元に戻す方法はありません。txtファイルを保存するために使用しているコードは次のとおりです。

問題はこの行にあるはずです。これだけで(つまり、txtファイルを作成して保存するための残りのコードがない場合)私はこの問題を抱えています...誰もがこれが起こっている理由の手がかりを持っていますか?ヒントは大歓迎です!どうもありがとう、平和、マッシー

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

nssavepanel - 「ToolbarArrangeByTemplate」という名前の画像が見つかりませんでした

Xcode のログ ペインに次のようなエラーが体系的に表示されます。

誰かが同じメッセージを受け取りますか? Xcode 4.3.2 の問題のようです。インターネットは関連するものを何ももたらしません。この名前はドキュメントでは参照されていません。

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

objective-c - 非推奨のbeginSheetForDirectoryメソッドを変更する方法

を使用していたアプリがありbeginSheetForDirectory:file:modalForWindow:modalDelegate:didEndSelector:contextInfo:ます。

廃止されたと述べているAppleのドキュメントを確認し、代わりに別の方法を使用しました。

[保存]パネルを、指定されたパスと、オプションでそのパスに指定されたファイルを含むシートとして表示します。(Mac OS X v10.6では非推奨です。代わりにbeginSheetModalForWindow:completionHandler:を使用してください。)

私の質問は、このコードを新しいコードに変更する方法ですか?

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

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

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

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

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

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

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

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

スクリーンショット

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

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

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

編集

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

アップデート1

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

と呼ばれますが

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

アップデート2

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

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

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

objective-c - 完了ハンドラブロック内のNSSavePanelnil

ビューのコンテンツをPDFファイルに保存しようとしています。表示されるコードは、NSViewから継承するクラス内にあります。

メソッドはメニューでトリガーされます。
問題は、アサーションが失敗することです。

NSSavePanelポインターを__blockと宣言した場合でも、なぜですか?

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

objective-c - Mac アプリでデータを csv 形式のファイルにエクスポートする

Macアプリ開発初心者です。

nstableview に一連のデータがあり、プログラムによってこのデータを .cs 形式で保存する必要があります。

誰でも問題を整理するのを手伝ってもらえますか?

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

nssavepanel - NSSavepanel Fieldeditor

NSSavePanelで、名前を拡張子なしで選択するためのコードがいくつかあります。これは、ずっと前にネットから降りたもので、当時は正常に機能しているようでした。コードを再利用したところ、失敗しました。エラーは、「[mySavePanel fieldEditor:NO forObject:nil]」がnilを返していることです。「NO」を「YES」に変更すると、NSTextアイテムが返されますが、NSSavePanelの名前エディターではありません。

ここで少し困惑していますが、なぜそれがnilを返すのか誰かが考えていますか?

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

macos - NSSavePanelを表示するときのタイムアウト

アプリがバックグラウンドで表示されているときに表示するNSSavePanelと、次のエラーが発生します。

また、パネルは表示されずにrunModal戻りますNSFileHandlingPanelCancelButton

アプリはサンドボックス化されています。パネルを作成するコードは次のとおりです。

何が問題なのでしょう?

アプリがフォアグラウンドにある場合、パネルはエラーなしで表示されます。