問題タブ [nstableviewcell]

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 に答える
1604 参照

objective-c - NSTableView 透明な TableView

UI 要件は次のとおりです。1 -- 2 列のテーブルを表示する必要があります。最初の列に画像を表示し、2 番目の列にテキストを表示する必要があります。2 -- 透明にする必要があるため、NSView の背景を表示する必要があります。

私のコードは以下のように書かれています、

次のメソッドをオーバーライドする NSTableView をサブクラス化します

以下のようにテーブルインスタンスを作成する私の見解では

// 実装

上記のコードの出力は、 NoofRow を 0 に設定した場合でも、白い背景を持つテーブルです。つまり、白い背景が描画されます。次に、CustomTableView の drawRect メソッドをオーバーライドして TableView に Background を実装しようとしましたが、助けになり、出力は Background です画像、透明を実現して親ビューの背景を表示するために、白い色でペイントされているようですが、列またはセルのために白い色が描画されるようです。列のセルにバックゴーンドを描画しないように指示しようとしましたが、うまくいきませんでした。誰でも私に提案できる他の方法。

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

objective-c - NSTableViewは1つのセルに画像を表示します

私は非常に簡単な質問をしているかもしれませんが、これを取り除く方法を得ることができません、要件は、

  1. テーブルには、画像とその横にテキストが表示されます。そのために、テーブルに2つの列を追加しました
  2. NSTableViewは透過的である必要があります。これを行うために、背景を描画しないようにオーバーライドdrawRectメソッド内にCustomNSTableViewクラスを作成し、セルにdrawBackgroundを描画しないように指示しました。
  3. 次のハードルは画像の表示方法です。次の方法でオーバーライド/処理する必要がありました。

私はtableColumn==nil条件を追加しました。これは、指定されたドキュメントのように、各行で初めて、行全体に単一の列を設定する必要がある場合にtableCOlumn nilで呼び出されますが、コメントBAD_ACCESSでクラッシュを返す場合、

今私の質問は、nil条件を処理する方法です。また、両方の列にNSCellを設定した後のこの関数では、別のデリゲート関数に移動します

dataSetを適切に設定した後は、この関数を使用する必要はないと思います。

次の実装ではクラッシュしますが、私はそれを理解することができません、何が問題なのですか、

適切なデータソースとデリゲートを設定しています、

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

objective-c - NSTableView 行のテキストの色を変更する

NSTable ビューの次のプロパティを変更する必要があります 1 -- 色を変更: 行の色とテキストの色を選択した場合 2 -- テキストの色を変更します。行ごとに入力パラメータに依存します。

行ごとにテキストの色を変更するには、デリゲート メソッド willDisplayCell をオーバーライドする必要があります。

-- テーブルの作成 ----

--- その他のデリゲート方法 --------------

----これがテキストの色を設定する方法です---

上記のコードでは、ログに例外が発生し、-[NSCell setTextColor:]: unrecognized selector sent to instanceという行が表示されます テキスト フィールド セルを設定する必要がある場所のようですが、どのように、どこにあるのかわかりません、親切に私を助けて、

もう1つのことは、最初はセルの背景は必要ありませんが、セルが選択されると、背景を変更する必要があるか、ハイライトの色を言うことができます.WillDIsplayCellでも同じことができますか

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

cocoa - NSTextFieldCellを垂直方向に中央に配置しますか?

次のコードで行の高さを変更するNSTableViewがあります。

問題は、テキストセルがまだセルの上部に配置されているため、見栄えが悪いことです。私はそれを垂直に中央に置く方法を理解することができませんでした。他の誰かがこれに対する解決策を見つけましたか?

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

objective-c - マウスがNSTableViewの特定のビューの上にあるかどうかを確認するにはどうすればよいですか?

セルごとに異なるビューを表示しているNSTableViewがあります。マウスが特定のビューの上にあることをどのように判断できますか?マウスオーバーに応じて、特定のUI部分を表示/非表示にできるようにしたい。

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

objective-c - NSTableView で矢印キーを使用して Tab と Shift-Tab をシミュレートする

右矢印と左矢印でタブとシフトタブをシミュレートしたい。NSTableview をサブクラス化し、キーダウン コードをオーバーライドする必要があると思いましたが、列と行のセルを編集する必要があるテーブル ビューを伝える方法がわかりません。これは私が得る方法です

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

objective-c - NSTableCellのボタンから別のビューに移動するにはどうすればよいですか?

カスタムテーブルセルにボタンがあり、これを使用してビューに移動します。ただし、このビューは、TableCellを押すだけで表示されるビューとは異なる必要があります。誰かがこれを以前に解決したことがありますか?

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

cocoa - 特定の NSTableview セルに斜めに線を引く

NSTableview セルで斜めに線を引く方法はありますか?これを行うサンプルを投稿してください.Mac 開発は初めてです.この問題で私を助けてください.

前もって感謝します.......

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

cocoa - 編集モードで NSTextField の代わりにカスタム ビューを表示する NSTextFieldCell を作成する方法は?

NSTextFieldCell を含む 3 つの列を持つ tableView があります。すべてにバインディングが設定されています。

いずれかの列のセルのテキストは計算され、直接編集することはできません。この列では、セルが編集モードになったときに、 textField の代わりにボタンまたはカスタム ビューを表示したいと考えています。
別の言い方をすれば、編集されていないときはNSTextFieldCellであるNSCellが必要であり、編集されているときはNSButtonCell (またはカスタム ビュー) が必要です。

これに進むためのヒントはありますか?


これが私が試したものですが、成功しませんでした:

  • #1を試してください:

NSTextFieldCell以下に示すように aとオーバーライドをサブクラス化しましたfieldEditorForView:=> 問題は、返される NSButton が応答しないことsetDelegate:と、おそらく他の多くのものです。

  • #2を試してください:

サブクラスNSTextFieldCellとオーバーライドdrawWithFrame: inView:=> このメソッドは、編集モードでないときにセルを描画するためにのみ使用されます。

  • #3を試してください:

この手がかりにはいくらかの可能性がありますが、明らかに何かが欠けています。
ウィンドウのデリゲートに実装windowWillReturnFieldEditor: toObject:し、カスタム フィールド エディターを返します。私は正しい軌道に乗っているように見えますが、何かを見逃していました。引数 anObject は決して私のカスタム セルではありません (再確認したところ、XIB で適切に定義されています)。

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

custom-cell - NSTableViewのセルにNSDatePickerオブジェクトを配置できますか?

現在、NSDateFormatterでNSTextCellを使用していますが、おそらくを使用して、これが可能かどうかを知りたかっただけです。

前もって感謝します!