NSOutlineView에서 보이는 행의 인덱스를 어떻게 얻을 수 있습니까? 표시 할 수준과 행을 알아야합니다.NSOutlineView에서 보이는 행의 인덱스를 어떻게 얻을 수 있습니까?
답변
outlineview : child : ofItem :에 대한 NSIndexPath를 반환하도록 데이터 소스를 변경했습니다. 이렇게하면 [outlineview rowAtPoint : point] (및 유사)를 사용하여 NSIndexPath를 얻을 수 있습니다.
이러한 변경으로 인해 이러한 indexPath가 필요하지 않을 때까지 릴리스되지 않도록 이러한 indexPath 세트를 만들어야했습니다. 또한 일반적으로 모델 객체를 예상하는 다른 모든 코드는 이제 인덱스 경로에서 모델 객체를 조회해야합니다. 제 경우에는 이것이 효율적이었습니다. 범위의
NSScrollView* scrollView = [self.tableView enclosingScrollView];
CGRect visibleRect = scrollView.contentView.visibleRect;
NSRange range = [self.tableView rowsInRect:visibleRect];
첫 번째 눈에 보이는 세포로 위치를 얻을 것이다 길이 세포의 양이 그래서 당신은 눈에 보이는 세포의 인덱스를 알 수있는 표시됩니다 :
NSOutlineView
는 NSTableView
서브 클래스 (NSArray를 *) indexPathsForVisibleRows -
[편집] 은 내가 실제로 찾고 있어요 CocoaTouch/jQuery과에 NSOutlineView에 해당합니다. 따라서 -rowsInRect:
은 -visibleRect
(NSView
)과 결합 할 수 있습니다. 레벨을 결정하려면 -levelForRow:
을 사용하십시오.
는 다음을 수행 할 수 있습니다 .
좋은 답변입니다! 그리고 나서 반복합니다. [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. 어떻게 mysql에서 n 번째 행의 값을 얻을 수 있습니까?
- 2. NSOutlineView에서 행 수 얻기
- 3. 어떻게 CurrentWindow를 얻을 수 있습니까?
- 4. 어떻게 출력을 얻을 수 있습니까?
- 5. 대의원을 어떻게 얻을 수 있습니까?
- 6. 어떻게 얻을 수 있습니까? UI_USER_INTERFACE_IDIOM
- 7. 어떻게 onChangeEvent_sooner_를 얻을 수 있습니까?
- 8. GridView에서 선택된 행의 인덱스를 가져옵니다.
- 9. MySQL에서 n 행마다 어떻게 얻을 수 있습니까?
- 10. 안드로이드 ListView : 보이는 아이템의 데이터 인덱스를 얻으십시오.
- 11. MySQL은 매일 행의 수를 얻을
- 12. 설치된 코덱 목록은 어떻게 얻을 수 있습니까?
- 13. json 결과에서이 값을 어떻게 얻을 수 있습니까?
- 14. 어떻게 상대 경로를 얻을 수 있습니까?
- 15. 문자의 ASCII 코드는 어떻게 얻을 수 있습니까?
- 16. 어떻게 터미널 출력을 파이썬으로 얻을 수 있습니까?
- 17. 파이썬에서 사용자 이름을 어떻게 얻을 수 있습니까?
- 18. ScheduledThreadPoolExecutor에서 실행중인 작업을 어떻게 얻을 수 있습니까?
- 19. 어떻게 MySql 백업 크기를 얻을 수 있습니까?
- 20. 어떻게 화면 해상도를 얻을 수 있습니까?
- 21. Django에서 미래의 게시물을 어떻게 얻을 수 있습니까?
- 22. 어떻게 hexap에서 데이터를 얻을 수 있습니까?
- 23. 사진의 내용을 Android에서 어떻게 얻을 수 있습니까?
- 24. Python http.client.HTTPResponse 객체는 어떻게 얻을 수 있습니까?
- 25. CGContext에서 어떻게 색 공간을 얻을 수 있습니까?
- 26. 스프라이트의 속도를 어떻게 얻을 수 있습니까?
- 27. 어떻게 DATA를 TIME으로부터 얻을 수 있습니까?
- 28. 문자열의 특정 부분을 어떻게 얻을 수 있습니까?
- 29. Codebehind에서 aspx의 DataKeyNames를 어떻게 얻을 수 있습니까?
- 30. 브라우저의 화면 높이를 어떻게 얻을 수 있습니까?
여전히 indexPathsForVisibleRows에 해당하는 것이 있으면 좋겠다. – Cal