잡지를위한 페이지를 배치하는 앱이 있습니다. 이 앱은 MasterPage라는 NSView의 잡지 (NSScrollView의 contentView)에있는 잡지 (페이지라고하는 클래스의 NSView)를 배치합니다. 스크롤 뷰에서 페이지 그리드를 생각해보십시오.NSView : 수퍼 뷰에서 다른 NSView로 하위 뷰 드래그
"페이지"에는 광고를 나타내는 하위보기가 자동으로 배치됩니다 (클래스 = Ad). 수퍼 뷰 (Page 클래스의 NSView)와 MasterPage (다른 Page 클래스 뷰)의 하위 뷰 사이에서 이러한 광고를 드래그 할 수 있기를 원합니다.
광고 클래스 NSView를 Page 클래스 NSView에 드래그 할 수 있습니다. 원래 mouseDragged 메소드를 호출하여 NSView를 드래그 할 수 있지만 광고 클래스 하위 뷰를 수퍼 뷰에서 "릴리스"하고 다른 NSView로 드래그 할 수 있습니까?
그 의미가 되길 바랍니다.
감사합니다. Rob, 나는 그 방향으로 가고있었습니다. 나는 그것을 superview와 contentView로 가져올 수 있지만 드래그는 사용할 수 없게된다. – PruitIgoe
나는 이것이 잘 될지 모르겠다. 뷰 계층 구조에서 제거 된 뷰가 드래그하는 기계를 망쳐 놓고 있기 때문인 것으로 판단됩니다. 이 경우에는보기를 제자리에 두는 것이 좋지만 "끌기"동안 빈 것처럼 다시 그려 성공적인 놓기 만하면보기 이동을 완료하는 것이 좋습니다. –
mouseDown, mouseMoved 및 mouseUp을 수동으로 추적해야 할 수 있습니다. 내가이 일을한지 오래되었습니다. Joshua의 관점에서 볼 때 비트 맵으로 뷰를 렌더링하고, 뷰를 숨기고, 비트 맵을 드래그 할 수 있습니다. 성능과 효과 적용에 좋을 수 있습니다 (드래그 앤 드롭이 일반적으로 구현되는 방식입니다). –