問題タブ [nstablecolumn]

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

cocoa - InterfaceBuilderのsizeプロパティに相当するコード

NSTableColumnいくつかのを動的に作成していますが、テーブルでは高すぎるように見えます。Interface Builderには、オブジェクトサイズ(ミニ、スモール、レギュラー)を調整するための一般的な設定があります。これに相当するコードはありますか、それとも単にフォントを手動で選択する必要がありますか?

アップデート

次の方法でフォントを取得できることがわかりました。

ただし、行の高さがアイテムの高さと一致しません。コードでフォントを設定しても、行の高さには影響しません。NSTextFieldCellsとNSPopUpButtonCellsをデータセルとして使用します。

ああ、私は10.6のために構築しています。

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

cocoa - NSTableView がバインディングを使用している場合に willDisplayCell でオブジェクト情報を取得する

バインディングを使用してテーブル データを取得するテーブルがあります。また、表示されている特定のセルをカスタマイズするために willDisplayCell を使用しています。willDisplayCell私の質問は、メソッドで参照されているセルの値を取得するにはどうすればよいですか? dataSource ではなくバインディングを使用しているため、コントローラー オブジェクトを照会したくありません。NSTableColumn または NSTableView に、値を取得するために呼び出さなければならないものはありますか?

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

swing - JTable - 行を追加した後に TableColumns を保持しないのはなぜですか?

私は JTable を使用しています:

問題は、モデルに行を追加するたびに、TableColumnModel がデフォルトに戻ったように見え、すべての列の幅が同じになることです。

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

cocoa - NSPopupButtonCellのNSTableColumnでバインドできるすべてのものは何ですか?

NSPopupButtonCellで満たされたNSTableColumnにバインドできるものはかなりあります。説明を探してみましたが、何も見つからなかったようです。

ここに画像の説明を入力してください

  • 値選択の下でのバインディングのそれぞれは何ですか?たとえば、「コンテンツ」と「コンテンツ値」の違いは何ですか?
  • とにかく「コンテンツオブジェクト」がグレー表示されるのはなぜですか?
  • ポップアップボタン電池の代わりにテーブル列にバインドするのはなぜですか?TextCellを含むテーブル列で使用できるバインディングオプションも異なります。それはどのように達成されますか?
0 投票する
1 に答える
2222 参照

cocoa - 自動テーブル列識別子について

ビューに NSTableView と 2 つの NSTableColumn を作成しました。これら 2 つの NSTableColumn の両方の識別子は、Interface Builder で「自動」に設定されています。

メソッドでは:

私が使う

これら2つのNSTableColumnの識別子を確認します。

最初の列の識別子は ですAutomaticTableColumnIdentifier.0が、2 番目の列は です(null)

2 番目の列に識別子がない理由はありますか?

NSTableView の属性「Columns」を 1 に減らし、後で 2 に増やしたので、最初の列は NSTableView に含まれますが、2 番目の列は含まれません。

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

objective-c - NSTableViewからの列とそのヘッダーの削除

注:アンドリューの応答により、私はさらに別の見方をするようになりました。この機能は、内部タイマーを備えた大規模なアプリケーションの奥深くに埋め込まれています。そのタイマーがオフの場合、ここで説明されている間違った動作が発生します。タイマーがオンになっている場合は、期待どおりに機能します。そのタイマーがこのテーブルビューと相互作用する理由はわかりませんが、私が言ったように、それは大きくて複雑なアプリです。

ユーザーが表示する列を選択できるようにしたいと思います。表示されているオブジェクトのキーごとに1つずつ、一連​​のラジオボタンまたはチェックボックスが表示されます。彼はチェックボックスをオンまたはオフにすることができ、NSTableViewはそのキーの列を追加または削除します。

表示されているオブジェクトはNSDictionaryです。辞書のキーは実行時までわからないので、実行時に識別子を使用して列を作成する必要があります...コンパイル時にはわかりません。

追加機能の実装はスムーズに進みました。列とヘッダーセルを作成し、ヘッダーセルのテキストをある値に設定します。しかし、削除はそれほど簡単ではありません。 [myTableView removeTableColumn:col]列を削除しますが、ヘッダーをうまく処理しません。ヘッダーテキストが削除されない場合があります。2列のヘッダーテキストが削除されることがあります。時々、2つのヘッダーテキスト文字列が互いに重なり合って印刷されることになります。

明らかに私は何かが欠けています。プログラムで列とそのヘッダーを削除するにはどうすればよいですか?

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

core-animation - NSTableColumnアニメーション

動的列を使用してテーブルビューを作成したいと思います。Ecouteのものに似ています

一度に1つの列を表示する必要があります。ダブルクリックするとすぐに、テーブルビュー全体(スクロールビューではない)が左にアニメーション化され、新しい列が表示されます。

どうやって実装したらいいのかわからない。

誰かアイデアはありますか?

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

macos - 編集可能な列順序で NSTableView の列を取得する

ユーザーが列「ClickMe」をクリックしたNSTableView場合に通知を受け取りたい場所があります。テーブルビュー全体を を抽出できるメソッドにリンクしましたがclickedColumn:、「ClickMe」列への参照ではなく絶対数を取得します (別の場所に移動された可能性があります)。

もちろん、独自の検索アルゴリズムをプログラムして、列 X が実際に「Clickme」列であるかどうかを確認することもできますが、それはあまり洗練されたものではありません。列を適切に識別し、その ID をプログラムで受け取る方法はありますか?

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

ios - UITableViewDataSourceを作成できません

UITableViewDataSourceを作成しようとしていますが、次のエラーが発生します。

私が見ているエラーは次のとおりです。

したがって、明らかにNSTableColumnは定義されていませんが、定義する方法がわかりません。<NSTableColumn.h>を含めると、「NSTableColumn.hが見つかりません」というメッセージが表示されます(注:NSTableColumn.hはAppleの「Organizer」のドキュメントにあります)。

テーブルビューコントローラを作成することはそれほど問題にはなりませんが、答えを見つけることができません。ここで何が欠けていますか?

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

macos - NSTextFieldでNSTableCellViewの高さを正しく設定するには?

ごきげんよう!

カスタム ビューをセル (NSTableCellView クラス) として持つビュー ベースの NSTableView があります。カスタムセル内に NSTextField があります。

NSTextField 内に 3 行のテキストを表示する必要があり、セルのコンテンツをクリックした後、全文に収まるように拡大する必要があります。つまり、クリックで NSTextField の高さと NSCTableCellView の高さをインクリメントする必要があります。

アルゴリズムは次のとおりです。

  1. NSTableCellView のクリックを処理する
  2. NSTextField と NSTableCellView の新しいサイズを計算する
  3. IBOutlet を介して NSTextField に FrameSize を設定する
  4. 新しい NSTableCellView の高さの値をクラスに保存し、通知センターから関数「RowHeightChanged」を呼び出します
  5. クラス値から新しい行の高さを設定

これはコードスニペットです: (私はいくつかの役に立たないものを消去しました)

TickCellTableView:

NSTableView デリゲート:

問題は、NSTextField をクリックすると、フレームが 2 秒間だけ大きくなり、初期サイズに戻った後、セルのプロパティの高さを設定するアニメーションが開始されることです。結果 - セルの高さは上がっていますが、NSTextField はありません。アニメーションを無効にしようとしましたが、結果はありません。どうすれば修正できますか?

私の英語をお詫びします:)