問題タブ [nspathcontrol]

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 投票する
3 に答える
1300 参照

objective-c - NSPathControlをカスタマイズする

カスタムを作りたいNSPathControlです。 コンポーネントセルのカスタムクラスを返すことができるNSPathCellメソッドがあります。+ pathComponentCellClassサブクラスがNSPathComponentCellあり、そこに戻りますが、機能しません。メソッドは呼び出されません。なんで?

ドキュメントには次のように書かれています。

サブクラスは、このメソッドをオーバーライドして、自動的に使用されるカスタムセルクラスを返すことができます。デフォルトでは、メソッドは[NSPathComponentCellクラス]またはその特殊なサブクラスを返します。

これが間違っている場合、カスタマイズする別の方法はありNSPathControlますか?

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

objective-c - NSPathControl と自動レイアウト

NSPathControl自動レイアウトに問題があります。

ウィンドウに合わせてパス コントロールのサイズを変更したい。つまり、ウィンドウの幅を拡大すると、 も拡大するNSPathControl必要があります。これは機能します。

問題は、パス コントロールの URL をより長い URL に変更すると、パス コントロールが自動的に展開されることです。私はそれをしたくありません。ユーザーがウィンドウのサイズを変更する場合を除いて、パス コントロールの幅を同じに保ちたい。

幅を固定しようとしましたが、ウィンドウのサイズをまったく変更できません...

また、パス コントロールのウィンドウを固定しないと、URL を表すサブ コントロールの実際のコンテンツよりも小さくすることはできません。

それが理にかなっていることを願っています。

どうすればこれを修正できますか?

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

objective-c - NSPathControl セットパス

NSPathControl のパスを「~/Desktop」に設定する方法を探しています。

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

nsurl - plist の NSURL をサンドボックス化されたアプリの NSPathControl にバインドする方法は?

私の OS X アプリには、ユーザーが選択したディレクトリへの永続的なアクセスが必要です。valueアプリ サンドボックスを有効にする前は、UIにはデータ モデルへのバインディングを備えた NSPathControl がありました。モデルのデータ型は でNSDataあり、バインディングはNSKeyedUnarchiveFromData値トランスフォーマーを使用しました。それはうまくいきました。

アプリのサンドボックス化がオンになっていると、NSURL がセキュリティ スコープではないため、これは明らかに失敗します。これを改善するためにNSKeyedUnarchiveFromData、以下に示すように、バインディングのトランスフォーマーを独自のトランスフォーマーに置き換えました。

残念ながら、常に正しく機能するとは限りません。私 (ユーザーとして行動) が NSPathControl からファイルを選択すると、transformedValue:渡された NSData 引数が非 nil であっても nil を返すことがあります。つまり、NSURL はブックマーク データを解決しません。ここで何が起こっているか知っている人はいますか?失敗した場合、によって返されるエラーURLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:

エラー Domain=NSCocoaErrorDomain Code=259 「ファイルの形式が正しくないため、ファイルを開くことができませんでした。」

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

cocoa - NSPathControl と NSPathControlItem はバグだらけですか、それとも私ですか? (ヨセミテ)

Apple は、Yosemite の NSPathControlItem で動作するように NSPathControl を変更しました。

しかし、私が座っているところから見ると、これらの新しいクラスはまったく機能しません。データ構造にカスタム パスを表示しようとしていますが、通常のファイル パスにも同様の問題があります。それは私ですか、それともアップルですか?

これが私のコードです:

最初のスニペットは次のように機能し、パスが表示されます。しかし、それが機能するすべてです。

パスの任意の部分をクリックして NSPathControlItem からプロパティを取得しようとしても、まったく機能しません。すべてが nil を返します。

NSPathControlItem でパスを作成しようとすると、プロパティ (タイトル、URL) を設定できません。

また、NSPathControlItem はサブクラス化されるべきではありません。

ここで何が起こっているのですか?

編集

私が知る限り、NSPathControlItem には問題があります。NSPathControlItem を作成するヘルパー関数。

NSPathControlItem を作成し、そのタイトルを出力するテスト関数。

予想される出力は、a、b、c の 3 行です。私はnil、b、nilを取得します。

NSPathControl に直接 pathItems を設定すると、機能します。

ただし、pathItems を間接的に設定すると、すべてが地獄になります。

編集 2

私はこれをもう一度見ました。pathItem 関数で NSPathControlItem を構成します。ここでタイトルを設定します。attributedTitle を設定しても違いはありません。lldb でアイテムを検査すると、正しい (属性付きの) タイトル値が表示されます。

しかし、NSPathControlItem の配列を NSPathControl に割り当てると、タイトルの値は "" になり、attributedTitle は初期化されません。

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

macos - NSPathComponentCell の URL を設定するには?

設定画面にいくつかの NSPathControls があります。NSUserDefaults から保存された設定を取得し、保存された URL で NSPathControl の NSPathComponentCell を初期化できるようにしたいと考えています。

現在、次のコードがあります。

viewDidLoad() メソッドのコメントアウトされた行で、URL を使用して NSPathComponentCell を初期化しようとしていますが、NSData として何を渡せばよいかわかりません。これはこれを行う正しい方法ですか?

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

cocoa - NSPathControl の色を変更する方法

この写真を見てください:ここに画像の説明を入力

テキストの色を変更する方法を知っています:

しかし、矢印の色も変更したいのですが、これを実装する方法を知っている人はいますか?

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

macos - 値にバインドされている場合、NSPathControl は placeholderString を表示しません。

被験者はすべてだと言います。

IB でプレースホルダー メッセージを含む NSPathControl を作成しました。アプリを実行すると、プレースホルダー テキストが表示されます。

次に、コントロールの値をコントローラーの NSURL* プロパティにバインドしました。これで、プロパティ値が nil の場合でも、プレースホルダー テキストは表示されなくなりました。

困惑した。