問題タブ [nsoutlineview]

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

objective-c - NSOutlineView -- 複数のソースを組み合わせる

私のアプリには、NSOutlineViewからデータを取得する がNSTreeControllerあり、これはコア データ モデルからデータを取得します。

私が今やりたいことは、グループの見出しと、場合によっては追加の行をアウトライン ビューに追加することです。これは明らかに、モデルの外に存在し、ビューの一部であるべきものです。しかし、これについて頭を悩ませている限り、基になるモデルを変更せずにアウトラインビューにこれらのものを表示させる方法は考えられません。これは明らかに大きな問題です。

よろしくお願いいたします。ここで明らかな何かが欠けているような気がします...

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

objective-c - NSOutlineView がすべてのコンテンツを更新/表示しない

私は NSOutlineView を持っており、そのコンテンツは適切な NSTreeController にバインドされています。私のアプリが読み込まれるときを除いて、それは完全にうまく機能します.NSOutlineViewのコンテンツの約半分しか表示されません.

cmd+tab で移動して戻ると、すべてのコンテンツが表示されます。コンテンツがあるはずの空白行をクリックすると、クリックした行のテキストが突然表示されます。コンテンツはそこにありますが、適切に更新されていません。NSOutlineView に needsDisplay メッセージなどを送信する必要があると思いますが、どこにあるのかよくわかりません。

これは私にはかなり非論理的に思えます.NSOutlineViewは、バインドされたときにコンテンツを適切に表示できるはずです。私が行方不明であることは明らかですか?

0 投票する
8 に答える
9709 参照

objective-c - NSOutlineView: 開示三角形とインデントを削除

私はプロジェクトに NSOutlineView を使用していますが、2 つのことを理解できないようです。

  • ツリー ノードの開閉用三角ボタンを削除する方法。iTunes などのアプリでは、次のことができるようです。

代替テキスト

これに使用されるある種の NSOutlineView Delegate メソッドはありますか? それともサブクラスが必要ですか?

  • アイテムのインデントを無効にする方法。setIndentationPerLevel:を使用して 0 に設定し、Interface Builder で列のインデントを 0 に変更しようとしましたが、効果がないようです。
0 投票する
1 に答える
1152 参照

object - NSOutlineView を取得して新しいエントリにスクロールする

最初に長々と申し訳ありませんが、十分な情報を得られるようにしたいと思います。本当に難しいはずのない興味深い問題があります。NSOutlineView をスクロールして特定の行を表示したい場合は、次のパターンを使用するだけです。

委任を使用するために NSTreeController を使用していません。

データとして機能するアダプター パターン クラスを使用しています。アダプターは、さまざまなタイプをラップします。それは単純な構造です:

[アダプタの子] ----- *[アダプタの親]

したがって、アダプターは子の数を処理し、追加、削除、拡張などを行い、データ転送オブジェクトのようにも機能します。

それで、問題の核心はここにあります。NSOutlineView に新しい項目を追加するときは、アウトライン ビューで選択されているアダプターに新しい子アダプターを追加することから始めます。次に、次を使用して子アイテムをリロードします。

次に、このオブジェクトのビューを表示し、選択した行が新しく表示されたビューに関連するように NSOutlineView の同期を試みます。したがって、簡単な方法で手順は次のとおりです。

  1. 最初に、NSOutlineDataSource プロトコルを使用してデータを含む NSOutlineView をロードします。
  2. ユーザーは、子アイテムを追加できるアイテム (アダプター) を選択します
  3. ユーザーが「追加」ボタンをクリック
  4. 新しい空の表現オブジェクトが作成されます
  5. 新しく表現されたオブジェクトはアダプタにラップされています
  6. 新しく作成されたアダプタは、選択したアダプタの子に追加されます
  7. 新しい表現オブジェクトを使用して新しいビューが作成され、表示されます
  8. 選択した (親) ノードとその子が NSOutlineView に再ロードされます。
  9. NSOutlineView で新しく作成された行がスクロールされて表示され、ビューと NSOutlineView の選択が同期されます。

ここに問題があります。rowForItem メソッドを使用すると、NSOutlineView は新しく追加されたアイテムを見つけられません。それでも、リロードした後、親ノードを展開して、新しく追加されたアイテムを選択すると、すべて正常に動作します。問題を解決するために、プログラムで親ノードを展開し (新しいアイテムを公開)、新しいアイテムまでスクロールしようとしましたが、まだ行が見つかりません。rowForItem は -1 を返します。

NSOutlineView で何かを更新していない新しいアイテムを追加するときに、何かを見逃していませんか? 私は成功せずにさまざまなことを試しましたが、どんな助けも大歓迎です。

前もってありがとう、ロブ

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

objective-c - NSScrollViewの周りに表示される青い境界線

これは正常であり、何かを誤解しているだけだと思いNSScrollViewますが、ウィンドウの下部から少しはめ込んでいるので(完全な高さではなく)、その周りに青い境界線が表示されています。

スクロールビューに設定NSNoBorderしたので、これは別のものに違いありません。

任意のポインタをいただければ幸いです。アプリの見た目を損ない、壊れたように見えるので、境界線をなくしてほしい。

スクロールビューだと思います。その中のビューはNSOutlineView、それで、多分それはその上に何かありますか?

青い境界線

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

objective-c - ImageAndTextCell 編集の問題

ImageAndTextCell を取得し、NSOutlineView で使用しています。セルを編集するためにセルをダブルクリックすると、次のエラーが表示されます。

2010-12-16 05:31:54.399 MyApp[26823:a0f] -[NSCFString presentedObject]: 認識されないセレクターがインスタンス 0xa0aff968 に送信されました

誰かがその解決策を知っていますか?

0 投票する
4 に答える
5909 参照

objective-c - NSOutlineView の可視行のインデックスを取得するにはどうすればよいですか?

NSOutlineView の可視行のインデックスを取得するにはどうすればよいですか? どのレベルとどの行が表示されているかを知る必要があります。

[編集] 私が実際に探しているのは、CocoaTouch/UITableView に相当する NSOutlineView です - (NSArray *)indexPathsForVisibleRows

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

cocoa - iOS で使用されているフローティング グループ ヘッダーをデスクトップで使用できますか?

iOS のリスト ビューでは、グループ ヘッダーは、ユーザーがスクロールしたときに次のグループ ヘッダーによって画面外に押し出されるまで、ビューの上部に固定されます。これは、OS X の Cocoa の標準的な動作ではないようです。アウトライン ビューでこの動作を使用することは可能ですか。

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

objective-c - ココア:NSOutlineViewのマルチラインNSTextFieldCell

私はCocoaアプリケーションを開発しています。

カスタムセルを表示するNSOutlineViewがあります(セルはNSTextFieldCellから継承します)。私が直面している問題は、セルのテキストが1行にしか表示されないことです...複数行のtextFieldを作成するにはどうすればよいですか?

読んでくれてありがとう ;)

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

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

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

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

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

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

ありがとう =)