NSDraggingSource
NSDraggingSource протокол объявляет методы, реализованные исходным объектом в сеансе перетаскивания.
В OS X v10.7 и позже NSDraggingSource теперь формальный протокол и имеет обновленный интерфейс. OS X v10.6 поведение был сохранен, но будет отброшен в будущей версии операционной системы. Методы, которые должны быть осуждены, отмечены как таковые.
Наследование
Не применимый
Оператор импорта
Swift
import AppKit
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.7 и позже.
-
draggingSession (_: sourceOperationMaskForDraggingContext:) - draggingSession:sourceOperationMaskForDraggingContext:ТребуемыйОбъявляет типы операций, источник позволяет выполняться. (требуемый)
Объявление
Swift
func draggingSession(_session: NSDraggingSession, sourceOperationMaskForDraggingContextcontext: NSDraggingContext) -> NSDragOperationObjective C
- (NSDragOperation)draggingSession:(NSDraggingSession *)sessionsourceOperationMaskForDraggingContext:(NSDraggingContext)contextПараметры
sessionСеанс перетаскивания.
contextКонтекст перетаскивания. Посмотрите
NSDraggingContextдля поддерживаемых значений.Возвращаемое значение
Надлежащая работа перетаскивания, как определено в
Обсуждение
В будущем Apple может обеспечить более определенный «в» значениях в будущем. Для учета это, для нераспознанных окрестностей, возвращает маску работы для самого определенного контекста, в котором Вы обеспокоены. Следующий код является примером того, как реализовать эту функциональность:
switch(context) {case NSDraggingContextOutsideApplication:return ...break;case NSDraggingContextWithinApplication:default:return ...break;}
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
Вызванный, когда завершился сеанс перетаскивания.
Объявление
Swift
optional func draggingSession(_session: NSDraggingSession, endedAtPointscreenPoint: NSPoint, operationoperation: NSDragOperation)Objective C
- (void)draggingSession:(NSDraggingSession *)sessionendedAtPoint:(NSPoint)screenPointoperation:(NSDragOperation)operationПараметры
sessionСеанс перетаскивания.
screenPointТочка, где перетаскивание закончилось в координатах экрана.
operationРабота перетаскивания. Посмотрите
NSDragOperationдля типов работы перетаскивания.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
Вызванный, когда перетаскивание углубляет экран.
Объявление
Swift
optional func draggingSession(_session: NSDraggingSession, movedToPointscreenPoint: NSPoint)Objective C
- (void)draggingSession:(NSDraggingSession *)sessionmovedToPoint:(NSPoint)screenPointПараметры
sessionСеанс перетаскивания.
screenPointТочка, куда перетаскивание переместилось в в координатах экрана.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
Вызванный, когда начнется перетаскивание.
Объявление
Swift
optional func draggingSession(_session: NSDraggingSession, willBeginAtPointscreenPoint: NSPoint)Objective C
- (void)draggingSession:(NSDraggingSession *)sessionwillBeginAtPoint:(NSPoint)screenPointПараметры
sessionСеанс перетаскивания.
screenPointТочка, где перетаскивание начнется в координатах экрана.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
Возвраты, будут ли модифицирующие клавиши проигнорированы для этого сеанса перетаскивания.
Объявление
Swift
optional func ignoreModifierKeysForDraggingSession(_session: NSDraggingSession) -> BoolObjective C
- (BOOL)ignoreModifierKeysForDraggingSession:(NSDraggingSession *)sessionПараметры
sessionСеанс перетаскивания.
Возвращаемое значение
YEStrueесли модифицирующие клавиши будут проигнорированы,NOfalseиначе.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
Возвращает целочисленную битовую маску, указывающую типы перетаскивания операций, исходный объект позволит выполняться на данных перетащенного изображения.
Оператор осуждения
Этот метод неофициально осуждается. Если источник не реализует, это только вызывают
NSDraggingSourceметоды протокола. Этот метод будет формально осуждаться в будущей версии ОС.Объявление
Objective C
- (NSDragOperation)draggingSourceOperationMaskForLocal:(BOOL)isLocalПараметры
isLocalYEStrueуказывает, что целевой объект кандидата (окно или представление, по которому перетащенное изображение в настоящее время сбалансировано) находится в том же приложении как источник, в то время как aNOfalseзначение указывает, что целевой объект находится в различном приложении.Возвращаемое значение
Маска, создаваемая путем объединения операций перетаскивания, перечисленных в
NSDragOperationразделNSDraggingInfoссылка на протокол с помощью оператора битового «ИЛИ» C. Если источник не разрешает операций перетаскивания, он должен возвратитьсяNSDragOperationNone.Обсуждение
Если не реализованный, значение по умолчанию
NSDragOperationCopy|NSDragOperationLink|NSDragOperationGeneric|NSDragOperationPrivate.Оператор импорта
Objective C
@import AppKit;Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.7.
-
namesOfPromisedFilesDroppedAtDestination (_:) - namesOfPromisedFilesDroppedAtDestination:(OS X v10.7)Возвращает имена файлов, которые получатель обещает создать в указанном расположении.
Объявление
Swift
func namesOfPromisedFilesDroppedAtDestination(_dropDestination: NSURL) -> [AnyObject]?Параметры
dropDestinationОбъект URL, идентифицирующий расположение, в котором будут создаваться обещанные файлы.
Возвращаемое значение
Массив имен файлов (не полные пути), в котором получатель обещает создать
dropDestination.Обсуждение
Этот метод вызывается, когда отбрасывание было принято местом назначения, и место назначения, в случае другого приложения Какао, вызывает метод NSDraggingInfo
namesOfPromisedFilesDroppedAtDestination:. Для длинных операций можно кэшироватьсяdropDestinationи задержите создание файлов доdraggedImage:endedAt:operation:метод, чтобы избежать блокировать целевое приложение.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.2 и позже.
Осуждаемый в OS X v10.7.
-
Наборы, должно ли использование модифицирующих клавиш иметь эффект на тип выполняемой работы.
Оператор осуждения
Этот метод неофициально осуждается. Если источник не реализует, это только вызывают
NSDraggingSourceметоды протокола. Этот метод будет формально осуждаться в будущей версии ОС.Объявление
Objective C
- (BOOL)ignoreModifierKeysWhileDraggingВозвращаемое значение
Возвратиться
NOfalse, если пользователь может адаптировать работу перетаскивания удержанием модифицирующей клавиши во время перетаскивания.Обсуждение
Если этот метод не реализован, поведение по умолчанию эквивалентно возврату
NOfalseОпция перетаскивания, соответствующая модифицирующей клавише, объединена с маской источника (как установлено с
draggingSourceOperationMaskForLocal:метод) использование оператора битового «ИЛИ» C. См. описание дляdraggingSourceOperationMaskметод вNSDraggingInfoспецификация протокола для получения дополнительной информации о перетаскивании масок и модифицирующих клавиш.Оператор импорта
Objective C
@import AppKit;Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.7.
-
draggedImage:beganAt: - draggedImage:beganAt:(OS X v10.7)Дает исходному объекту возможность реагировать на инициирование сеанса перетаскивания.
Оператор осуждения
Этот метод неофициально осуждается. Если источник не реализует, это только вызывают
NSDraggingSourceметоды протокола. Этот метод будет формально осуждаться в будущей версии ОС.Параметры
anImageИзображение перетащенного элемента.
aPointИсточник изображения в координатах экрана.
Обсуждение
Этот метод вызывается когда
anImageвыведен на экран, но прежде чем это запустится после мыши. Например, Вы могли бы принять решение иметь источник, дают визуальную индикацию пользователю, что данные перетаскиваются из источника.Оператор импорта
Objective C
@import AppKit;Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.7.
См. также
convertScreenToBase:(NSWindow)convertBaseToScreen:(NSWindow)convertPoint:fromView:(NSView)convertPoint:toView:(NSView) -
draggedImage:movedTo: - draggedImage:movedTo:(OS X v10.7)Когда перетащенное изображение перемещается в новую координату экрана, сообщает источнику перетаскивания.
Оператор осуждения
Этот метод неофициально осуждается. Если источник не реализует, это только вызывают
NSDraggingSourceметоды протокола. Этот метод будет формально осуждаться в будущей версии ОС.Параметры
draggedImageПеретащенное изображение.
screenPointТочка, указывающая новое расположение изображения в координатах экрана.
Обсуждение
Это сообщение подобно отправляемому месту назначения перетаскивания
draggingUpdated:сообщения.Оператор импорта
Objective C
@import AppKit;Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.7.
-
Вызванный после того, как месту назначения перетаскивания дали шанс воздействовать на данные, представленные изображением. (требуемый)
Оператор осуждения
Использовать
draggedImage:endedAt:operation:вместо этого.Объявление
Оператор импорта
Objective C
@import AppKit;Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.1.
-
Вызванный после того, как месту назначения перетаскивания дали шанс воздействовать на данные, представленные изображением.
Оператор осуждения
Этот метод неофициально осуждается. Если источник не реализует, это только вызывают
NSDraggingSourceметоды протокола. Этот метод будет формально осуждаться в будущей версии ОС.Объявление
Objective C
- (void)draggedImage:(NSImage *)anImageendedAt:(NSPoint)aPointoperation:(NSDragOperation)operationПараметры
anImageПеретащенное изображение.
aPointТочка, определяющая местоположение источника изображения в системе координаты экрана, когда это было выпущено.
operationЦелочисленная константа, указывающая работу, выполняемую местом назначения.
Обсуждение
Этот метод вызывается после перетащенного изображения (
anImage) был выпущен и месту назначения перетаскивания дали шанс воздействовать на данные, которые он представляет. Этот метод предоставляет исходному объекту возможность реагировать или на успешное или на неработающий сеанс перетаскивания. Например, при перемещении данных от одного расположения до другого Вы могли бы использовать этот метод, чтобы заставить исходные данные исчезнуть из его предыдущего расположения, если сеанс перетаскивания успешен, или сбросил себя к своему предыдущему состоянию, в случае отказа.Оператор импорта
Objective C
@import AppKit;Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.7.
