問題タブ [nscell]

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

objective-c - NSTableViewに画像を表示するにはどうすればよいですか?

データソースを入力しているNSTableViewがあります。

私のデータモデルには画像へのURLがあります。

NSTableViewのすべてのセルのテキストの横に画像を表示したいと思います。基本的にTwitterクライアントのように、左側に画像、右側にテキストがあります。

このココアのやり方がわかりませんか?私はCocoa-Touchのプロセスに精通しています(UITableViewCellをサブクラス化することにより)。

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

cocoa - NSMatrixのセルでマウスオーバーを追跡するには?

NSMatrix で NSCell のマウスオーバー イベントを追跡したいと思います。ドキュメントには、NSMatrixモードをに設定でき、マウスがセルの境界内にあるときNSTrackModeMatrixにセルにメッセージが送信されると書かれていますtrackMouse:inRect:ofView:untilMouseUp:が、このメッセージはセルをクリックしたときにのみセルに送信されます。ドキュメントを誤解していますか?もしそうなら、マウスオーバーイベントを追跡するために使用できる別の方法はありますか?

ありがとう

0 投票する
7 に答える
4528 参照

objective-c - NSTableView のドラッグ アンド ドロップが機能しない

NSTableView に非常に基本的なドラッグ アンド ドロップを設定しようとしています。テーブル ビューには、(カスタム セルを含む) 1 つの列があります。列は NSArrayController にバインドされ、配列コントローラーのコンテンツ配列はコントローラー オブジェクトの NSArray にバインドされます。データはテーブルに正常に表示されます。dataSourceテーブル ビューのアウトレットとアウトレットをコントローラー オブジェクトに接続し、delegateこれらのメソッドを実装しました。

ドラッグタイプも登録しました-awakeFromNib

問題は、 -tableView:writeRowsWithIndexes:toPasteboard: メソッドが呼び出されないことです。私はたくさんの例を見てきましたが、間違っていることは何もわかりません。カスタムセルを使用していることが問題でしょうか? この機能を有効にするために、セルのサブクラスでオーバーライドする必要があるものはありますか?

編集:確認しました。カスタム セルを通常の NSTextFieldCell に切り替えると、ドラッグが機能するようになりました。では、カスタム セルでドラッグ アンド ドロップを機能させるにはどうすればよいでしょうか。

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

objective-c - 透明なNSTableView

をカスタマイズしたいNSTableView。私の全体的な要件は次のとおりです。

  • 各行には、1 つの画像といくつかのテキストがあります。画像とテキストは異なる場合があります。
  • 一部のセルには画像がない場合があります。
  • 行の高さは、何らかの外部要因に依存します。
  • セルは背景を描画するのではなく、背景を表示する必要がありNSTableViewます。

これまでのところ、テキストで透明なセルを描画できます。Google で調べたところ、各セルをカスタマイズする必要があることがわかりました。ここで、次の質問があります。2 つの列を維持する必要がありますか、それとも 1 つの列で問題なく、左側に 1 つの画像とそれに隣接するテキストを配置する必要がありますか?

また、次の 2 つのメソッドをオーバーライドする必要があることも理解しています。

したがって、セルごとに、セルを描画/構築する必要があります-誰かが私を導くことができますか? 私は正しい方向に進んでいますか?上記のアプローチで動的な高さを持つ透明な背景を実現できますか?

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

objective-c - 単一のNSCellを複数の値にバインドする

私はすでにこのテーマで1日を殺しましたが、これが正しい方法でどのように行われるのかまだわかりません。

私はNSOutlineViewファイルシステム階層を表示するために使用しています。最初の列の各行について、チェックボックス、関連するアイコン、およびファイルまたはディレクトリの名前を表示する必要があります。これを行う標準的な方法がないため、NSTextFieldCellSourceViewとPhotoSearchの両方の例を使用してサブクラス化しvalue、IBをnameツリーアイテムクラスのプロパティにバインドしましたNSTreeController。チェックボックスと画像をペイントするためにオーバーライドを使用してdrawWithFrame:inView:おり、テキスト描画をに転送していますsupertrackMouse:inRect:ofView:untilMouseUp:チェックボックスの相互作用を処理するためにオーバーライドも使用しています。

copyWithZone:カスタムセル内でマウスボタンを押すと、セルオブジェクトがコピーされ、この一時オブジェクトにtrackMouse:inRect:ofView:untilMouseUp:メッセージが送信され、元のセルのチェック状態を変更できないことに気付くまで、すべてが順調でした。見る。

質問の主題はバインディングに関するものなので、これが答えかもしれないと思いましたが、この混乱をすべて接続して期待どおりに機能させる方法がまったくわかりません。これを試しました:

しかし、まったく成功しませんでした。うまくいかないようです。

これは私が取った完全に間違った方法でしょうか?さらに読むためのより良い代替案またはリンクを提案できますか?


UPD 1/21/11:私もこれを試しました:

しかし、「[<_ NSControllerTreeProxy 0x ...> valueForUndefinedKey:]:このクラスはキー状態のキー値コーディングに準拠していません。」のようなエラーが発生し続けました。および同様。

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

cocoa - NSCellのNSColorPanel

クリックされたときにNSColorPanelを表示する次のコードを持つカスタムNSCellがあります。

このコードはカラーピッカーを表示しますが、色をクリックするとクラッシュします。[panel setTarget:self]行を削除すると、効果はありませんが、正常に機能します(ターゲットがないため、カラー値を受け取らないため)。

これがスタックトレースです。エラーはEXC_BAD_ACCESSです。

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

objective-c - NSCell でセルの代わりにテキスト (コンテンツ) を選択する

私は現在、NSOutlineView を使用してプロジェクトに取り組んでいます...

もちろん、私はNSCellを使用しており、セル内のテキストを選択できるようにする必要があります...または少なくとも...セルの選択(および強調表示)を防止します...

IB ですべてのオプションを検索しましたが、適切なオプションが見つかりません...

セルの選択/強調表示を防止したり、ユーザーにセルの内容を選択させたりする方法はありますか?

ありがとう =)

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

objective-c - NSCell サブクラスで hitTest が呼び出されない

私はNSCell自分のプロジェクトのサブクラスに取り組んでいます。

このサブクラスは、状況によってはNSButtonCell、ビューに次のように描画されます:

問題ありません。図面について、問題はボタンをクリックして応答します!

私はこれをやろうとしています:

と :

- (BOOL)startTrackingAt:(NSPoint) inView:(NSView *)

- (BOOL)trackMouse:(NSEvent *) inRect:(NSRect) ofView:(NSView *) untilMouseUp:(BOOL)

- (BOOL)continueTracking:(NSPoint) at:(NSPoint) inView:(NSView *)

- (void)stopTracking:(NSPoint) at:(NSPoint) inView:(NSView *) mouseIsUp:(BOOL)

しかし、hitTest などは決して呼び出されません...

呼び出されるだけ+ (BOOL)prefersTrackingUntilMouseUpで、あまり役に立ちません...

何か案が ?^^

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

objective-c - NSTableView セルをカスタマイズする最も簡単な方法は何ですか?

私は iOS 開発者です。私は最近 Mac プロジェクトを開始しましたが、UIView のサブクラスである UITableViewCell とは異なり、NSTableView のセルは NSCell であり、IB で作成することさえできません。NSTextFieldCell のようなサブクラスを作成して NSTableView に入れる簡単な方法があるのだろうか。

どんな助けでも大歓迎です!ありがとう!

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

objective-c - NSOutlineView コントロールのハイライトとインデント

私の Outline ビューでは、CustomCell を使用しています。これは、Cocoa ImageTextCell RefrenceCode からコードをいくつか変更して取得したものにすぎません。

セルのハイライトの色を変更することはできますか?

これまでのところ、次のことを行っています - (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView {

}

これは機能していますが、何が起こっているのか、ハイライトセルの色は最初にシステムのデフォルトの色から始まり、次にevenColorによってオーバーライドされます。問題はcellFrame.origin.xで、0から始まっていないと感じています。

このコードを適用した後、出力は次のようになりました

そして私が期待していたこと