NSOutlineViewの可視行のインデックスを取得するにはどうすればよいですか? どのレベルとどの行が表示されているかを知る必要があります。NSOutlineViewの可視行のインデックスを取得するにはどうすればよいですか?
答えて
データソースを変更して、outlineView:child:ofItem:のNSIndexPathを返しました。 この方法で、[outlineview rowAtPoint:point](同様の)を使用してNSIndexPathを取得できます。
この変更により、これらのindexPathが必要なくなるまで解放されないように、これらのindexPathを作成する必要がありました。また、モデルオブジェクトを通常想定していた他のコードはすべて、インデックスパスからモデルオブジェクトをルックアップする必要があります。私の場合、これは効率的でした。
NSOutlineView
がNSTableView
サブクラスである(NSArrayの*)indexPathsForVisibleRows -
[EDIT] は、私が実際に探していることはCocoaTouch /のUITableViewにNSOutlineViewと同等です。したがって、-rowsInRect:
は、-visibleRect
(NSView
)と組み合わせることができます。レベルを決定するには-levelForRow:
を使用してください。
次の操作を実行できます。
細胞の量が表示されている最初の可視セルとして及び長さにあなたが可視セルのインデックスを知ることができるので、あなたが場所を取得します範囲のNSScrollView* scrollView = [self.tableView enclosingScrollView];
CGRect visibleRect = scrollView.contentView.visibleRect;
NSRange range = [self.tableView rowsInRect:visibleRect];
。
すばらしい答え!それから、[self.tableView itemAtRow:range.location]を反復処理します。 – stevesliva
これはスクロールビューの不要な関与を除いて、私が2年半前に投稿した回答とどのように違うのかよくわかりませんその '-visibleRect'のために直接)、そしてOPがアウトラインビュー(ツリー)対テーブル(リスト)について質問しているという事実... –
@JoshuaNozziはコードを読みやすく –
3スウィフトで:
let rows = IndexSet(integersIn: 0..<outlineView.numberOfRows)
let rowViews = rows.flatMap { outlineView.rowView(atRow: $0, makeIfNecessary: false) as? TimelineRowView }
for rowView in rowViews
//iterate over rows
}
- 1. UITableViewの可視のrectを取得するにはどうすればよいですか?
- 2. Pandas DataFrameからインデックス値で行を取得するにはどうすればよいですか?
- 3. インスタンスオブジェクトのインデックスを取得するにはどうすればよいですか?例えば
- 4. Javaプログラムの実行可能ファイルを取得するにはどうすればよいですか?
- 5. WPFでComboBoxのインデックスの総数を取得するにはどうすればよいですか?
- 6. Titanのインデックス付きキーのリストを取得するにはどうすればよいですか?
- 7. function startswith()がtrueの場合、値のインデックスを取得するにはどうすればよいですか?
- 8. solrインデックスのstackoverflowのタグを取得するにはどうすればよいですか?
- 9. オブジェクトがNSMutableArrayに追加されたインデックスを取得するにはどうすればよいですか?
- 10. PHPを使用してMySQLで検索インデックスを取得するにはどうすればよいですか?
- 11. 不可能:アーカイブされていないパスを取得するにはどうすればよいですか?
- 12. WMIから97行以上の行を取得するにはどうすればよいですか?
- 13. Eclipseコンソールで改行なしの改行を取得するにはどうすればよいですか?
- 14. ネットワークアプリケーションのライセンスを取得するにはどうすればよいですか?
- 15. カスタムオープングラフオブジェクトのカスタムプロパティを取得するにはどうすればよいですか?
- 16. リストのアドレスを取得するにはどうすればよいですか?
- 17. LinkedHashMapのkeyIteratorを取得するにはどうすればよいですか?
- 18. DynamicControlの値を取得するにはどうすればよいですか?
- 19. オーバーレイオブジェクトのイベントハンドラを取得するにはどうすればよいですか?
- 20. Java:org.w3c.dom.Nodeのxpathを取得するにはどうすればよいですか?
- 21. ユーザーグループのスピーカーを取得するにはどうすればよいですか?
- 22. デスクトップウィンドウのハンドルを取得するにはどうすればよいですか?
- 23. コンパニオンオブジェクトのScalaSigを取得するにはどうすればよいですか?
- 24. iframeのソースを取得するにはどうすればよいですか?
- 25. VS.Phpのカラーオプションを取得するにはどうすればよいですか?
- 26. モバイルデバイスユーザーのフルネームを取得するにはどうすればよいですか?
- 27. ツイートのURLを取得するにはどうすればよいですか?
- 28. ウェブサイトのアイコンを取得するにはどうすればよいですか?
- 29. モバイルネットワークのステータスを取得するにはどうすればよいですか?
- 30. アラートメッセージ(iOS)なしでwebviewでジオロケーションの許可を取得するにはどうすればよいですか?
indexPathsForVisibleRowsに相当するものが存在することを望みます。 – Cal