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

macos - macOS 拡張機能の変更ダイアログが別のシートではなく新しいウィンドウとして表示される

ユーザーがファイルを入力して処理し、ユーザーがファイルを保存できるようにするアプリがあります。保存ダイアログで小さな問題が発生しました。アプリでユーザーが保存できるファイルの種類は、txt ファイルのみにする必要があります。しかし、私はユーザーが他のタイプも使用できるようにするのでtrueallowsOtherFileTypes. これが私のコードです:

問題は、ユーザーがtxt以外の別の拡張子を付けた場合、私のアプリは、ユーザーがファイルにその拡張子を使用するかどうかを確認するアラートをポップアップすることを想定していますが、アラートはシートではなく独自のウィンドウとしてポップアップします:

シートの代わりにウィンドウ

このアラートを新しいウィンドウではなく保存ウィンドウの上にシートとして表示するには、何を追加すればよいですか?

システム: macOS Sierra、Xcode 8.2、Swift 3

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

objective-c - NSOpenPanel モデル ウィンドウがメイン アプリケーション ウィンドウを強制終了する

Mac アプリケーション プログラミングは初めてです。システムからファイルを選択するために NSOpenPanel を使用しています。ファイルを選択してキャンセル/開くボタンを押すと、completedHandler ブロックが実行されます。

OpenPanel ウィンドウを閉じると、次の問題に直面しています。

  1. mainAppWindow.visible の結果が 1 であっても、メイン アプリケーション ウィンドウも閉じられます。
  2. また、メイン アプリ ウィンドウのウィンドウ クローズ デリゲート メソッドを受け取りません。

NSOpenPanel の作成に使用したコード スニペットを以下に示します。

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

macos - macOS AppKit: モードレス NSSavePanel の奇妙なドラッグ動作

NSSavePanel をモードレスに作成すると、ドラッグ動作が非常に奇妙になります。

  • タイトルバーでドラッグしようとしても反応しません

  • パネルの他の領域でドラッグを開始すると、最初に数ピクセル下にジャンプしてから、通常どおりドラッグが続行されます。

これは私のコードです:

また、他のアプリが全画面表示になったときに、保存パネルを他のアプリの上に表示したいのですが、使用しないでください。

私が使う

しかし、動作しません。

助けてくれてありがとう、そしてメリークリスマス。

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

macos - Swift 3 で NSOpenPanel/NSSavePanel がクラッシュする

Swift 3/Xcode8.1/10.12.2 では、NSOpenPanel を使用して、DenBeke によって作成された次のコードを含むテキスト ファイルを取得しようとしています。

コードは期待どおりに開いているダイアログを開き、ファイルを選択できます。開くボタンをクリックすると、アプリがクラッシュします。コンソールで私は得る:

FI_TFloatingInputWindowController オブジェクト 0x60800009c0c0 は既に割り当て解除中にオーバーリリースされました。objc_overrelease_during_dealloc_error で中断してデバッグする

コードを実行してダイアログを開くと、コンソールに

[デフォルト] [エラー] URL のコンテナーの取得に失敗しました: file:///Users/ruediheimlicher/Documents/LoggerdataDir/Messungen/、エラー: エラー ドメイン=BRCloudDocsErrorDomain コード=12 "アプリ ライブラリが見つかりません: 'com.apple.Documents' " UserInfo={NSDescription=アプリ ライブラリが見つかりません: 'com.apple.Documents'}

ただし、これはアプリには影響しません。

わずかに異なるコードの NSOpen または NSSave ダイアログの例がネット上に他にもありますが、いずれの場合も同じ結果が得られます。つまり、クラッシュし、コンソールにまったく同じエラーが表示されます。

私のコード試行に間違いがありますか、それとも Swift3/sierra で動作する例ですか?

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

cocoa - NSSavePanel accessoriesView: ボタンが表示されないのはなぜですか?

単一のチェックボックスを含むaccessoryViewで保存パネルを作成しています。次を使用してボタンを作成すると、機能するようになります。

しかし、これにより、この特定の NSButton 初期化子には macOS 10.12 が必要であり、10.10 をサポートする必要があるという警告が表示されます。

これが私のsavePanelのセットアップです:

Sierra でアクセサリ ビューを作成する方法は次のとおりです。

しかし、これは機能しません (ボタンは表示されません)。

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

swift - macOS - NSSavePanel でファイル名にファイル拡張子を追加するにはどうすればよいですか?

このコードを使用して、プレーン テキスト ファイルをディスクに保存する名前と場所をユーザーが指定できるようにしています。すべてが機能しているように見えますが、保存されたファイルには拡張子がありません。実際、コードのどの部分でも拡張子を指定していません。このオプションを説明している部分に気付かずに NSSavePanel のドキュメントを読みました。

私が使用しているコードは次のとおりです。