2009-05-24 3 views
1

개요보기를 테이블보기와 같이 다시 정렬 (행의 위치를 ​​이동하기 위해 끌기)시킬 수있는 방법은 무엇입니까? 현재 행을 드래그하려고하면 다른 행이 선택됩니다. 어떻게 재 주문할 수 있습니까?개요보기를 테이블보기처럼 재주문 할 수 있도록 만드는 방법은 무엇입니까?

+0

사람들에게 알려주세요. – Joshua

+0

안녕하세요 @ 여호수아, 저는이 질문이 거의 2 살이라는 것을 알고 있지만, 당신이 결국 성공했다고 상상합니까? 블로그 나 다른 무언가를 통해이 문제를 해결하는 것에 대해 조금이라도 공유하고 싶다면 많은 사람들이 이익을 얻을 것이라고 확신합니다. –

답변

6

drag'n drop stuff을 구현해야합니다.

다음은 NSOutlineView 데이터 소스에 구현해야하는 메소드입니다.

- (NSDragOperation)outlineView:(NSOutlineView *)outlineView validateDrop:(id <NSDraggingInfo>)info proposedItem:(id)item proposedChildIndex:(int)index; 
- (BOOL)outlineView:(NSOutlineView *)outlineView acceptDrop:(id <NSDraggingInfo>)info item:(id)item childIndex:(int)index; 

자세한 내용은 NSOutlineViewDataSource Protocol Reference을 확인하십시오. 당신이 어려운 애플의 문서를 발견하는 경우

당신은 또한 당신의 outlineView

[outlineView registerForDraggedTypes: [NSArray arrayWithObjects: NSStringPboardType, NSURLPboardType, NSFilenamesPboardType,NSFileContentsPboardType, nil]]; 
+0

NSOutlineView 데이터 소스는 어디에 있습니까? – Joshua

+1

일반적으로 위임 클래스처럼 직접 구현해야합니다. NSOutlineViewDataSource 프로토콜을 구현하는 모든 클래스는 아웃 라인 뷰의 데이터 소스가 될 수 있습니다. – cocoafan

+0

그래서 코드를 어디에 복사해야합니까? 새 클래스 파일에 저장합니까? – Joshua

1

위해 드래그 유형을 등록해야, 다시 주문에 대한 Jonathan's post을 읽어보세요.

그래, 그 정도면, ADC의 AbstractTree 샘플 코드를 사용해보십시오. 끌어서 놓기 방법은 AppDelegate 파일에서 강조 표시됩니다.

나는 무례한 말을하고 싶지 않지만 튜토리얼이나 참고 자료를보고 계십니까? 붙여 넣을 수있는 코드를 요청하는 것이 도움이되지 않기 때문에 묻습니다. 수있는 일반 코드가 없습니다. 특정 사례에 대해 으로 작성해야합니다. 이 없으면 을 작성할 수 없습니다.

AbstractTree에서 예제 드래그 앤 드롭 메서드를 구현하고 구현하는 데 여전히 문제가 있다면 제대로 작동하지 않는 코드를 게시 해보십시오.

+0

나는 그것을 읽었지만 실제로는 끌어서 놓기를 구현하는 코드 만 필요하지만 어떤 코드를 찾을 수 없는가? 파일에서 내가해야 할 일이 무엇인지 말해 줄 수 있니? – Joshua

+0

좋아, 구현 해보자. 내 xcode 프로젝트에서 모든 것이 예제 프로젝트의 프로젝트와 동일하지만 5 가지 오류가있다. http://snapplr.com/epks – Joshua

+0

나는 생각한다. 문제는 코코아와 Objective-C에 대한 이해가 필요하다는 것입니다. 이 5 가지 오류는 상당히 자명하며 쉽게 고칠 수 있습니다. 하지만 당신은 당신의 클래스에 코드를 복사 한 것 같습니다. 내가 말했던 것은 일하지 않을 것이다. – Abizern

관련 문제