SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
23장	 
드래그	 &	 드롭
드래그 & 드롭
드래그 & 드롭
• 드래그 시작.
드래그 & 드롭
• 드래그 시작.
• 드래깅 페이스트보드로 복사.
(Dragging Pasteboard)
드래그 & 드롭
• 드래그 시작.
• 드래깅 페이스트보드로 복사.
(Dragging Pasteboard)
• 드롭.
드래그 & 드롭
• 드래그 시작.
• 드래깅 페이스트보드로 복사.
(Dragging Pasteboard)
• 드롭.
• 드래깅 페이스트보드부터 복사.
드래그 출발지 설정
드래그 피드백
드래그 행위 처리
드롭시 처리
드래그 출발지
수용할 드래그 타입 등록
드래그 & 드랍 행위 처리
드롭 피드백
드래그 연산 마스킹
드래그 목적지
23장 드래그 & 드롭
피드백
• Copy & Paste 보다 추가할 사항.
• 사용자에게 적절한 피드백.
• 드래그 아이템 표시.
• 드래그할 때 뷰 하이라이트.
• 효과음.
드래그 출발지
• 드래그를 지원해주기 위해서.
• draggingSourceOperationMaskForLocal:
구현.
• isLocal 인자 - 앱 내/외부 구분
드래그 시작
• 드래그 행위 피드백.
• 드래그 이미지, 위치.
• 드래그 취소시 드래그 이미지 복귀 여부.
드래그 행위
•
마우스 드래그 거리 측정
드래그 이미지 생성
드래그 이미지 위치 설정
페이스트보드에 복사
드래그 수행
드래그 행위 처리
마우스 이동 거리 측정
드래그 이미지 생성
드래그 이미지 위치 설정
드래그 페이스트보드에 복사
드래그 수행
드롭시 처리 (소스측)
• 드래그 출발지 이벤트.
• 휴지통으로 드롭 한 경우,
NSDragOperationDelete 발생.
드래그 목적지
수용할 드래그 타입 등록
드래그 & 드랍 행위 처리
드롭 피드백
드래그 연산 마스킹
드래그 목적지
드래그 프로토콜
• 드래그 목적지 메서드는
NSDragginInfo 프로토콜을
따르는 객체를 가진다.
드래그가 들어온 경우
draggingEntered:
draggingUpdated:
draggingExited:
prepareForDragOperation:
performDragOperation:
concludeDragOperation:
드래그 & 드랍 행위 처리
드래그가 빠져나간 경우
드롭 처리
draggingEntered:
draggingUpdated:
draggingExited:
prepareForDragOperation:
performDragOperation:
concludeDragOperation:
드래그 & 드랍 행위 처리
더 파고들기
드래그 연산 마스킹
• 컨트롤, 옵션, 커맨드 키와 함께
드래깅되는 경우.

Weitere ähnliche Inhalte

Mehr von Kyungryul KIM

전문검색기술도전
전문검색기술도전전문검색기술도전
전문검색기술도전Kyungryul KIM
 
Nib_NSWindowController
Nib_NSWindowControllerNib_NSWindowController
Nib_NSWindowControllerKyungryul KIM
 
서버인프라를지탱하는기술5 1 2
서버인프라를지탱하는기술5 1 2서버인프라를지탱하는기술5 1 2
서버인프라를지탱하는기술5 1 2Kyungryul KIM
 
Chaper24 languages high_and_low
Chaper24 languages high_and_lowChaper24 languages high_and_low
Chaper24 languages high_and_lowKyungryul KIM
 
Ch22 운영체제
Ch22 운영체제Ch22 운영체제
Ch22 운영체제Kyungryul KIM
 

Mehr von Kyungryul KIM (20)

Ch4 pugixml
Ch4 pugixmlCh4 pugixml
Ch4 pugixml
 
Node ch12
Node ch12Node ch12
Node ch12
 
11.scripting
11.scripting11.scripting
11.scripting
 
32 osx app_release
32 osx app_release32 osx app_release
32 osx app_release
 
Meteor ddp
Meteor ddpMeteor ddp
Meteor ddp
 
Cocos2dx 7.1-7.2
Cocos2dx 7.1-7.2Cocos2dx 7.1-7.2
Cocos2dx 7.1-7.2
 
Cocos2 d x-7.3_4
Cocos2 d x-7.3_4Cocos2 d x-7.3_4
Cocos2 d x-7.3_4
 
Cocos2d x-ch5-1
Cocos2d x-ch5-1Cocos2d x-ch5-1
Cocos2d x-ch5-1
 
Coco2d x
Coco2d xCoco2d x
Coco2d x
 
Hadoop ch5
Hadoop ch5Hadoop ch5
Hadoop ch5
 
전문검색기술도전
전문검색기술도전전문검색기술도전
전문검색기술도전
 
Nib_NSWindowController
Nib_NSWindowControllerNib_NSWindowController
Nib_NSWindowController
 
Dsas
DsasDsas
Dsas
 
서버인프라를지탱하는기술5 1 2
서버인프라를지탱하는기술5 1 2서버인프라를지탱하는기술5 1 2
서버인프라를지탱하는기술5 1 2
 
Chaper24 languages high_and_low
Chaper24 languages high_and_lowChaper24 languages high_and_low
Chaper24 languages high_and_low
 
Ch22 운영체제
Ch22 운영체제Ch22 운영체제
Ch22 운영체제
 
Mibis ch20
Mibis ch20Mibis ch20
Mibis ch20
 
Mibis ch15
Mibis ch15Mibis ch15
Mibis ch15
 
Mibis ch8
Mibis ch8Mibis ch8
Mibis ch8
 
Mibis ch4
Mibis ch4Mibis ch4
Mibis ch4
 

23 drag drop