NSDraggingInfo
NSDraggingInfo протокол объявляет методы, предоставляющие информацию о сеансе перетаскивания.
NSDraggingInfo методы протокола разработаны, чтобы быть вызванными из реализации класса NSDraggingDestination методы протокола. Набор Приложения автоматически передает объект, соответствующий NSDraggingInfo протокол как параметр каждому из методов, определенных NSDraggingDestination. NSDraggingInfo сообщения должны быть отправлены в этот объект; Вы никогда не должны создавать класс, реализующий NSDraggingInfo протокол.
Наследование
Не применимый
Оператор импорта
Swift
import AppKit
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает объект области монтажа, содержащий перетаскиваемые данные.
Объявление
Swift
func draggingPasteboard() -> NSPasteboard!Objective C
- (NSPasteboard *)draggingPasteboardВозвращаемое значение
Объект области монтажа, содержащий перетаскиваемые данные.
Обсуждение
В конечном счете выполняющаяся работа перетаскивания использует эти данные области монтажа а не изображение, возвращенное
draggedImageметод.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает число, однозначно определяющее сеанс перетаскивания.
Объявление
Swift
func draggingSequenceNumber() -> IntObjective C
- (NSInteger)draggingSequenceNumberВозвращаемое значение
Число, однозначно определяющее сеанс перетаскивания.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает источник или владельца, перетащенных данных.
Объявление
Swift
func draggingSource() -> AnyObject?Objective C
- (id)draggingSourceВозвращаемое значение
Источник или владелец, перетащенных данных.
Обсуждение
Этот метод возвраты
nilесли источник не находится в том же приложении как место назначения. Источник перетаскивания реализует методы отNSDraggingSourceпротокол.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает маску работы перетаскивания источника перетаскивания.
Объявление
Swift
func draggingSourceOperationMask() -> NSDragOperationObjective C
- (NSDragOperation)draggingSourceOperationMaskВозвращаемое значение
Маска работы перетаскивания, объявляющаяся источником перетаскивания через
NSDraggingSourcedraggingSession:sourceOperationMaskForDraggingContext:(предпочтенный) метод илиNSDraggingSourcedraggingSourceOperationMaskForLocal:метод. Если источник не разрешает операций перетаскивания, этот метод должен возвратитьсяNSDragOperationNone.Обсуждение
Если источник разрешает перетаскивать операции, элементы в маске один или больше констант, описанных в
“Obtaining Information About the Dragging Session”, объединенное использование оператора битового «ИЛИ» C.Если пользователь является удержанием модифицирующей клавиши во время сеанса перетаскивания, и источник не мешает модифицирующим клавишам влиять на работу перетаскивания (через
ignoreModifierKeysWhileDraggingметод), тогда операционная система комбинирует значение работы перетаскивания, соответствующее модифицирующей клавише (см. описания ниже) с маской источника с помощью C поразрядная операция И.Модифицирующие клавиши связаны с вариантами работы перетаскивания, показавшими ниже:
Модифицирующая клавиша
Перетаскивание работы
Управление
NSDragOperationLinkОпция
NSDragOperationCopyКоманда
NSDragOperationGenericОператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает текущее расположение указателя мыши в основной системе координат окна целевого объекта.
Возвращаемое значение
Текущее расположение указателя мыши в основной системе координат окна целевого объекта.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает целевое окно для работы перетаскивания.
Объявление
Swift
func draggingDestinationWindow() -> NSWindow!Objective C
- (NSWindow *)draggingDestinationWindowВозвращаемое значение
Целевое окно для работы перетаскивания.
Обсуждение
Или это окно является местом назначения само, или оно содержит объект представления, который является местом назначения.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.0 и позже.
-
Устанавливает расположение отбрасывания для обещанных файлов и возвращает имена файлов, которые получатель обещает создать там.
Объявление
Swift
func namesOfPromisedFilesDroppedAtDestination(_dropDestination: NSURL) -> [AnyObject]!Параметры
dropDestinationОбъект URL указание расположения отбрасывания для обещанных файлов.
Возвращаемое значение
Массив имен файлов, которые не являются полными путями.
Обсуждение
Перетащите места назначения, должен вызвать этот метод в их
performDragOperation:метод. Источник может или мог не создать файлы к этому времени этот метод возвраты.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.2 и позже.
-
Указывает число допустимых элементов для работы отбрасывания. (требуемый)
Объявление
Swift
var numberOfValidItemsForDrop: Int { get set }Objective C
@property NSInteger numberOfValidItemsForDropОбсуждение
Во время
draggingEntered:илиdraggingUpdated:, Вы ответственны за возврат работы перетаскивания. В некоторых случаях можно принять некоторых, но не все элементы на области монтажа перетаскивания. (Например, Ваше приложение может только принять файлы образа.)Если Вы только принимаете некоторые элементы, устанавливаете это свойство в число элементов, принятых, таким образом, менеджер по перетаскиванию может обновить значок количества перетаскивания.
Когда
updateDraggingItemsForDrag:вызывается, необходимо установить изображение недопустимых элементов перетаскивания кnil. Если ни один из элементов перетаскивания не допустим тогда, Вы не должныupdateItems:, просто возвратитесьNSDragOperationNoneот Вашей реализацииdraggingEntered:и, илиdraggingUpdated:и не изменяйте никого, перетаскивают свойства элемента.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
Возвращает перетаскиваемое изображение.
Возвращаемое значение
Перетаскиваемое изображение.
Обсуждение
Этот объект изображения визуально представляет данные, ставит область монтажа во время работы перетаскивания; однако, это - данные области монтажа и не это изображение, в конечном счете использующееся в работе перетаскивания.
Этот метод возвращается не -
nilдля локального перетаскивания, ноnilдля межпроцессного перетаскивания. С новыми возможностями перетаскивания мультиизображения межпроцессное место назначения может участвовать и изменить изображение перетаскивания. Но это все еще не может получить текущее изображение перетаскивания.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает текущее расположение источника перетащенного изображения.
Возвращаемое значение
Источник перетащенного изображения, в основной системе координат окна целевого объекта.
Обсуждение
Изображение перемещается вместе с указателем мыши (позицией которого дают
draggingLocation) но может быть расположен в некоторое смещение.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Двигает изображение к указанному расположению.
Объявление
Swift
func slideDraggedImageTo(_aPoint: NSPoint)Objective C
- (void)slideDraggedImageTo:(NSPoint)aPointПараметры
aPointТочка, указывающая расположение в системе координаты экрана.
Обсуждение
Этот метод может использоваться для корректировки расположения, к которому перетащенное изображение будет скользить назад, если будет отклонено перетаскивание.
Это должно только быть вызвано из реализации места назначения
prepareForDragOperation:, если место назначения отклонит перетаскивание, и будет только иметь эффект.Этот метод вызывается после того, как пользователь выпустил изображение, но прежде чем это будет удалено из экрана.
Специальные замечания
Этот метод был доступен начиная с OS X v 10.0, однако это не было реализовано до OS X v 10.5. До той версии это ничего не сделало.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.0 и позже.
-
Возвраты, анимирует ли формирование перетаскивания, в то время как перетаскивание по этому месту назначения. (требуемый)
Объявление
Swift
var animatesToDestination: Bool { get set }Objective C
@property BOOL animatesToDestinationОбсуждение
Во время заключения принятого перетаскивания, если это свойство установлено в
YEStrue, менеджер по перетаскиванию анимирует каждое изображение перетаскивания к ихNSDraggingFormationNoneрасположения. Иначе, изображения перетаскивания удалены без любой анимации.Это свойство проверено между
prepareForDragOperation:иperformDragOperation:. Необходимо перечислить через элементы перетаскивания во времяperformDragOperation:установить элементdraggingFrameкорректным местам назначения.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
В то время как перетаскивание по этому месту назначения, возвращает формирование перетаскивания. (требуемый)
Объявление
Swift
var draggingFormation: NSDraggingFormation { get set }Objective C
@property NSDraggingFormation draggingFormationОбсуждение
Установите это свойство для изменения формирования элементов перетаскивания. Это обычно делается во время
updateDraggingItemsForDrag:метод или каждый раз, когда Вы перечисляете элементы перетаскивания.Значение по умолчанию является текущим формированием перетаскивания.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
enumerateDraggingItemsWithOptions (_: forView:classes:searchOptions:usingBlock:) - enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:ТребуемыйПеречисляет через каждый элемент перетаскивания. (требуемый)
Объявление
Swift
func enumerateDraggingItemsWithOptions(_enumOpts: NSDraggingItemEnumerationOptions, forViewview: NSView, classesclassArray: [AnyObject], searchOptionssearchOptions: [NSObject : AnyObject], usingBlockblock: (NSDraggingItem!, Int, UnsafeMutablePointer<ObjCBool>) -> Void)Objective C
- (void)enumerateDraggingItemsWithOptions:(NSDraggingItemEnumerationOptions)enumOptsforView:(NSView *)viewclasses:(NSArray *)classArraysearchOptions:(NSDictionary *)searchOptionsusingBlock:(void (^)(NSDraggingItem *draggingItem, NSInteger idx, BOOL *stop))blockПараметры
enumOptsОпции перечисления. Посмотрите NSDraggingItemEnumerationOptions для поддерживаемых значений.
viewПредставление, используемое в качестве основной системы координат для
NSDraggingItemэкземпляры.classArrayМассив объектов класса.
Классы должны появиться в массиве в порядке предпочтительный порядок представления. Классы в массиве должны соответствовать
NSPasteboardReadingСсылка на протокол.searchOptionsСловарь, указывающий опции совершенствовать поиск элементов области монтажа, например ограничить поиск для регистрации URLs с определенными типами контента. Для допустимых ключей словаря посмотрите
Pasteboard_Reading_Options.blockБлок выполнился для перечисления.
Блок берет три параметра:
draggingItemСсылка на элемент перетаскивания.
draggingFrameиз перетаскивания элемент находится в координатном пространстве представления, указанного вview. Aviewзначениеnilозначает пространство координаты экрана.idxИндекс элемента в классах.
stopСсылка на булево значение, которое блок может использовать для остановки перечисления путем установки *остановка в
YEStrue; это не должно затрагивать *остановка иначе.Обсуждение
Классы в предоставленном массиве должны реализовать
NSPasteboardReadingпротокол. Классы какао, реализующие этот протокол, включаютNSImage,NSString,NSURL,NSColor,NSAttributedString, иNSPasteboardItem. Для каждого элемента на области монтажа каждый класс в предоставленном массиве будет запрошен для типов, это может считать использованиеreadableTypesForPasteboard:. Экземпляр создается из первого класса, найденного в предоставленном массиве, читаемые типы которого соответствуют соответствующий тип, содержавшийся в том элементе области монтажа. Любые экземпляры, которые могли быть созданы из данных элемента области монтажа, возвращаются к вызывающей стороне. Дополнительные опции, такие как ограничение поиска для регистрации URLs с определенными типами контента, могут быть указаны сoptionsсловарь. Только объекты требуемых классов возвращаются. Можно всегда гарантировать для получения одного объекта на элемент на области монтажа включениемNSPasteboardItemкласс в массиве классов.Этот метод перечисляет элементы на области монтажа перетаскивания, связанной с этой информацией перетаскивания, а также всеми дополнительными данными, о которых знает информация перетаскивания. Данные области монтажа и дополнительные данные представлены как одна логическая единица,
NSDraggingItemэкземпляр.Для каждого элемента на области монтажа, каждом классе в
classArrayбудет запрошен для типов, это может считать использованиеreadableTypesForPasteboard:. Экземпляр будет создаваться из первого класса, найденного в предоставленном массиве, читаемые типы которого соответствуют соответствующий тип, содержавшийся в том элементе области монтажа. Если экземпляр создается из данных элемента области монтажа, он помещается вNSDraggingItemвместе со свойствами перетаскивания того элемента, такими как изображение перетаскивания.NSDraggingItemэкземпляр тогда передается в качестве параметра предоставленному блоку.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
См. также
– readObjectsForClasses:options:(Класс NSPasteboard)
-
Эти константы используются
draggingSourceOperationMask.Объявление
Swift
struct NSDragOperation : RawOptionSetType { init(_rawValue: UInt) init(rawValuerawValue: UInt) static var None: NSDragOperation { get } static var Copy: NSDragOperation { get } static var Link: NSDragOperation { get } static var Generic: NSDragOperation { get } static var Private: NSDragOperation { get } static var Move: NSDragOperation { get } static var Delete: NSDragOperation { get } static var Every: NSDragOperation { get } static var All_Obsolete: NSDragOperation { get } static var All: NSDragOperation { get } }Objective C
enum { NSDragOperationNone = 0, NSDragOperationCopy = 1, NSDragOperationLink = 2, NSDragOperationGeneric = 4, NSDragOperationPrivate = 8, NSDragOperationAll_Obsolete = 15, NSDragOperationMove = 16, NSDragOperationDelete = 32, NSDragOperationEvery = NSUIntegerMax }; typedef NSUInteger NSDragOperation;Константы
-
CopyNSDragOperationCopyДанные, представленные изображением, могут быть скопированы.
Доступный в OS X v10.0 и позже.
-
LinkNSDragOperationLinkДанные могут быть совместно использованы.
Доступный в OS X v10.0 и позже.
-
GenericNSDragOperationGenericРабота может быть определена местом назначения.
Доступный в OS X v10.0 и позже.
-
PrivateNSDragOperationPrivateРабота согласовывается конфиденциально между источником и местом назначения.
Доступный в OS X v10.0 и позже.
-
All_ObsoleteNSDragOperationAll_ObsoleteNSDragOperationAllпостоянный осуждается. ИспользоватьNSDragOperationEveryвместо этого.Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.10.
-
MoveNSDragOperationMoveДанные могут быть перемещены.
Доступный в OS X v10.0 и позже.
-
DeleteNSDragOperationDeleteДанные могут быть удалены.
Доступный в OS X v10.0 и позже.
-
EveryNSDragOperationEveryВсе вышеупомянутые.
Доступный в OS X v10.0 и позже.
-
NoneNSDragOperationNoneНикакие не перетаскивают операции, позволяются.
Доступный в OS X v10.0 и позже.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.0 и позже.
-
-
Эти константы указывают
enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:опции для параметра опций.Объявление
Swift
struct NSDraggingItemEnumerationOptions : RawOptionSetType { init(_rawValue: UInt) init(rawValuerawValue: UInt) static var Concurrent: NSDraggingItemEnumerationOptions { get } static var ClearNonenumeratedImages: NSDraggingItemEnumerationOptions { get } }Objective C
enum { NSDraggingItemEnumerationConcurrent = NSEnumerationConcurrent, NSDraggingItemEnumerationClearNonenumeratedImages = (1UL << 16), }; typedef NSUInteger NSDraggingItemEnumerationOptions;Константы
-
ConcurrentNSDraggingItemEnumerationConcurrentПеретаскивание перечисления элемента происходит одновременно.
Доступный в OS X v10.7 и позже.
-
ClearNonenumeratedImagesNSDraggingItemEnumerationClearNonenumeratedImagesКогда следующая опция установлена,
imageComponentsProviderавтоматически установлен вnilдля всех элементов перетаскивания, не встречающих критерии параметров поиска и классы. Эффективно, это скрывает изображение перетаскивания для недопустимых элементов для этого места назначения.Доступный в OS X v10.7 и позже.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
-
Эти константы управляют визуальным форматом многократных перетаскиваемых элементов.
Объявление
Swift
enum NSDraggingFormation : Int { case Default case None case Pile case List case Stack }Objective C
enum { NSDraggingFormationDefault = 0, NSDraggingFormationNone, NSDraggingFormationPile, NSDraggingFormationList, NSDraggingFormationStack }; typedef NSInteger NSDraggingFormation;Константы
-
DefaultNSDraggingFormationDefaultСистема определила формирование.
Доступный в OS X v10.7 и позже.
-
NoneNSDraggingFormationNoneПеретащите изображения, поддерживают их позиции набора относительно каждого другого /
Доступный в OS X v10.7 и позже.
-
PileNSDraggingFormationPileПеретащите изображения, помещаются друг на друга со случайными вращениями.
Доступный в OS X v10.7 и позже.
-
ListNSDraggingFormationListПеретащите изображения, размечаются вертикально, ненакладывающийся с выровненными левыми краями.
Доступный в OS X v10.7 и позже.
-
StackNSDraggingFormationStackПеретащите изображения, размечаются, накладываясь по диагонали.
Доступный в OS X v10.7 и позже.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
-
Эти параметры указывают, завершается ли перетаскивание в или вне приложения.
Объявление
Swift
enum NSDraggingContext : Int { case OutsideApplication case WithinApplication }Objective C
enum { NSDraggingContextOutsideApplication = 0, NSDraggingContextWithinApplication }; typedef NSInteger NSDraggingContext;Константы
-
OutsideApplicationNSDraggingContextOutsideApplicationПеретаскивание завершается вне приложения.
Доступный в OS X v10.7 и позже.
-
WithinApplicationNSDraggingContextWithinApplicationПеретаскивание завершается в приложении.
Доступный в OS X v10.7 и позже.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
-
Указывает, что все перетаскивают операции, поддерживаются.
NSDragOperationAllпостоянный был осужден. ИспользоватьNSDragOperationEveryвместо этого.Объявление
Objective C
#define NSDragOperationAll NSDragOperationAll_ObsoleteКонстанты
-
NSDragOperationAllNSDragOperationAllИспользовать
NSDragOperationEveryвместо этого.Доступный в OS X v10.0 через OS X v10.9.
-
