問題タブ [nstableview]

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

cocoa - NStableview + cocoa でマウス イベントが検出されない

私は過去数日間これを試してきましたが、理解できませんでした。

NSOutlineView と NSTableView を持つアプリケーションがあります。Outlineview は入力パスを受け取り、サブコンテンツのツリー構造の形式で表示します。そのため、ユーザーがアウトライン ビューで特定のフォルダをクリックすると、そのフォルダの内容がテーブル ビューに表示され、その属性がリスト形式で表示されます。

これで、両方のビューにそれぞれのコンテンツを表示できるようになりました。アウトラインビューとテーブルビューの間のやり取りは、デリゲートと通知を使用して行われます。

今私の問題は、両方のビューでマウスイベントを検出して、シングルクリックで選択、ダブルクリックでファイル/フォルダーを開くこと、およびコントロール+クリックでコンテキストを有効にすることで、アプリをよりインタラクティブにすることです。ポップアップメニュー。しかし奇妙なことに、マウスイベントは検出されません。

私のアプリの設計は非常にシンプルで、テーブル ビューとアウトライン ビューのそれぞれに独自のビューとコントローラー クラスがあり、通知を使用してそれらの間のやり取りが行われます。私が間違っているところを教えてください。

テーブルビューのsetActionおよびDoubleActionメソッドを使用してシングルクリックとダブルクリックを機能させることができることはわかっていますが、コントロールクリックを機能させることはできません。ビューのどれもマウスイベントを検出していないため、アプリの設計に何が問題なのかを知りたい:(

ありがとう

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

objective-c - NSTableView スイッチ列

Core Data に接続された NSTableView があります。これが私がやりたいことです。

テーブルには 2 つの列があります。最初の列の編集が終了し、Tab キーを押して次の列に移動したら、最初の列のデータに基づいて 2 番目の列をプログラムで設定したいと考えています。これに役立つデリゲートメソッドはありますか?

ありがとう

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

objective-c - selectedCell はいつ変更されますか?

私は NSTableView を持っており、selectedCell 要素が変更されるたびに何かをしたいと考えています。

したがって、私のテーブルビューはtableViewと呼ばれ、これが私が観察したいものです:

キー値の監視を使用しようとしましたが、うまくいかないようでした。または、間違っている可能性があります。何か案は?

0 投票する
5 に答える
1068 参照

cocoa - Cocoaでカスタマイズされたリストを実装するにはどうすればよいですか?

Things.appのToDoリストに非常によく似たエントリのリストを使用してCocoaアプリを作成したいと思います(スクリーンキャストを参照)。問題は私が使うべきかどうかです

  1. TableView、
  2. CollectionViewまたは
  3. WebView。

それらすべてで機能すると思いますが、次の要件に最も適しているのはどれですか?

  • エントリのリストがあります->1列と多くの行
  • ドラッグアンドドロップによる並べ替え
  • 単一のエントリを選択し、削除などのアクションにキーを使用します
  • エントリを開きます。行を展開して、より多くの入力フィールドを表示する必要があります
  • カスタマイズされた外観:丸みを帯びた角、影、背景のグラデーション

これまでのところ、TableViewにはほとんどの機能がありますが、外観をカスタマイズするのは難しいとのことですが、CollectionViewにはドラッグアンドドロップがありませんが(右?)、設計は簡単で、WebViewはそうしないとかなりの労力を要します。ユーザーエクスペリエンスを損ない、モデルを入力フィールドに直接バインドできません。

私が見逃している長所と短所は何ですか?また、何を使用することをお勧めしますか?

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

cocoa - NSTableView で管理対象オブジェクトにアクセスする

へのNSTableViewバインドがありNSArrayController、これはNSManagedObjectContext1 つのエンティティを持つ にバインドされています。テーブル ビューで現在選択されているオブジェクトのプロパティをプログラムで設定するにはどうすればよいですか? 私はそれを直接やってみました

[[[documentsController arrangedObjects] objectAtIndex:[tableView selectedRow]] setObject:[NSDate date] forKey:@"dateProperty"]

しかし、それは私に例外を与えました:

-[_NSControllerArrayProxy selection]: unrecognized selector sent to instance 0x79430c0

テーブル選択を にバインドして値を設定しようとしましたNSObjectControllerが、うまくいきませんでした。

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

objective-c - NSTableView の選択とハイライト

アプリケーションの非常に中心的な部分として NSTableView があり、残りの部分とさらに統合したいと考えています。1 つの列 (リスト) しかなく、すべてのセル (通常の NSTextFieldCells) を自分で描画します。

最初の問題はハイライトです。自分でハイライトを描いて、青い背景を取り除きたいです。セル全体を元の背景色で塗りつぶして青い背景を非表示にしましたが、セルをドラッグすると見栄えが悪くなります。NSCell のオーバーライドを試みhighlight:withFrame:inView:ましhighlightColorWithFrame:inView:たが、何も起こりませんでした。自動強調表示を無効にするにはどうすればよいですか?

また、NSTableView の外のどこかをクリックしたときに、すべての行/セルの選択を解除したいと考えています。選択したセルの背景/ハイライトが灰色になるため、これにはイベントが必要ですが、見つかりません。ダブルクリックでセルを展開しますが、元に戻す必要がある場合があります。そのため、灰色のハイライトを取り除くだけでは不十分です。

編集:セルがダブルクリックされresignFirstResponder、NSTableView が呼び出されたときに、サブビューを NSTableView に追加します。私はこれを試しました:

機能していないことに加えて、ビュー階層内のすべてのオブジェクトに対してこのメ​​ソッドを実装する必要があります。ファーストレスポンダが特定のビュー階層を離れたときを見つけるための他の解決策はありますか?

0 投票する
5 に答える
2933 参照

objective-c - NSTableViewで空の選択を行うことはできません

それがどのように起こったのかはわかりませんが、テーブルビューで突然、空の選択を行うことができなくなりました。テーブルビューの行と同様に、常に選択する必要があり、テーブルビューの別の場所をクリックして選択を解除することはできません。別の行を選択することはできますが、空の選択を行うことはできません。

テーブルビューのInterfaceBuilder属性では、空の選択が有効になっているため、次にどこを見ればよいかわかりません。私が行った大きな変更の1つは、OS XSnowLeopardをインストールしたことです。この問題がそれと関係があるかどうかはわかりません。

ありがとう

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

objective-c - Objective-C で NSTableView との間で行を追加/削除する

Cocoa で簡単な Todo アプリケーションを作成しています。クラス (および XIB への NSObject) MATodoController を追加しました。

MATodoController.h

MATodoController.m

NSTableView へのアウトレット「テーブル」と、ボタンのクリックによって呼び出される 2 つのアクション「addItem」と「removeItem」があります。

方法はありますか (もちろん方法はあります)新しい行を追加したり、NSTableView から選択した行を削除したりするにはどうすればよいですか (ユーザーは一度に複数の行を選択できます)。

前もって感謝します。

ああ、もう 1 つ: NSTableView には 1 つの列しかありません (チェックボックスで構成されています)。

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

cocoa - NSScrollView バーが NSTableView 行をスクロールしない

現在、NSScrollView 内に NSTableView があり、これはデータソースからコンテンツを取得します。ただし、コンテンツの数がビューに収まらない場合は、垂直スクロール バーを使用してもテーブルのコンテンツには影響しません。

  • スクロールバーをドラッグしても 動かない
  • 上/下ボタンをクリックしても機能しない
  • マウスで中央のスクロール ホイールを使用して機能する
  • キーボードの矢印キーを使用しても機能します
  • 上記の2つは、垂直スクロールバーを上下に移動します

  • スクロールのオンとオフでコピーを試みました

  • NSTableView には 2 つの列があり、1 つはテキスト フィールドで、もう 1 つはイメージ フィールドです。

  • コンソールにエラーが表示されない

これは、垂直スクロール バーがテーブル ビューに接続されているように見えますが、一方向のみです。つまり、テーブルビューはスクロールバーを変更しますが、その逆はありません。

誰かが前にそのような問題を抱えていましたか? または、何が原因であるかを知っていますか?

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

objective-c - バインディングに従ってテーブルビューが更新されない

これは非常に初心者の質問であり、これは私が以前に何度も行ったことですが、今回は欠けていることがあります。

AppDelegate.hファイルで、NSArrayを宣言し、プロパティとして設定します。

次に、awakeFromNibメソッドのAppDelegate.mファイルで、次のように割り当てます。

次に、lines配列を設定するメソッドがあります。

にバインドされた配列コントローラーがあり、AppDelegate.self.lines次ににバインドされたテーブル列がありますArray Controller.arrangedObjects。配列が更新されている(NSLogを使用してテストされている)ことを確認できますが、テーブルの内容は更新されていません(空白のままです)。

私がここで見逃している明らかな何かがありますか?