Часто задаваемые вопросы

Этот документ отвечает на обычно спрашиваемые вопросы о возможностях перетаскивания Набора Приложения. Это включает информацию об обещании HFS, перетаскивает и специальная информация относительно перетаскивания перекрестного приложения от объектов NSTableView.

Этот документ касается следующих предметов:

HFS Promise перетаскивают

Вопросы, заданные в этом разделе, включают:

Когда выполнение Promise HFS притягивает какао, как я устанавливаю пользовательское изображение перетаскивания?

NSView’s dragPromisedFilesOfTypes:fromRect:source:slideBack:event: метод не обеспечивает способ установить изображение перетаскивания, которое будет использоваться при перетаскивании файла обещания HFS. Однако это вызовы метода другой метод NSView, dragImage:at:offset:event:pasteboard:source:slideBack: в его реализации, действительно обеспечивающей параметр для NSImage, который будет использоваться в качестве изображения перетаскивания. Так, для установки пользовательского изображения перетаскивания просто переопределите dragImage:at:offset:event:pasteboard:source:slideBack:, установите свое пользовательское изображение, вызовите super's dragImage:at:offset:event:pasteboard:source:slideBack: и передайте в своем пользовательском изображении перетаскивания.

Как я добавляю, что другие типы области монтажа к Promise HFS притягивают какао?

NSView's dragPromisedFilesOfTypes:fromRect:source:slideBack:event: метод не обеспечивает средние значения для добавления других типов области монтажа к данным Promise HFS, потому что это не представляет область монтажа, которую это использует. Однако существует обходное решение для добавления других данных типа области монтажа. dragPromisedFilesOfTypes:fromRect:source:slideBack:event: NSView's вызовов dragImage:at:offset:event:pasteboard:source:slideBack: метод в его реализации. Так, можно переопределить dragImage:at:offset:event:pasteboard:source:slideBack:, добавьте, что любая дополнительная область монтажа вводит Вас потребность, и затем вызовите super's dragImage:at:offset:event:pasteboard:source:slideBack: позволить всему продолжаться как прежде.

Перетаскивание перекрестного приложения

Вопросы, заданные в этом разделе, включают:

Когда я Восстанавливаю Свое приложение на версии 10.2 OS X, Мой NSTableView Теряет Возможность Перетащить к Другим Приложениям. Как я Фиксирую Это?

Ошибка в NSTableView в версии 10.2 OS X и более позднем перекрестном приложении причин перетаскивает для не работы без дополнительного кода от разработчика приложений. Перетаскивание в приложении все еще работает правильно.

Можно работать вокруг ошибки путем разделения на подклассы NSTableView и переопределения draggingSourceOperationMaskForLocal: возвратить надлежащее NSDragOperation (обычно NSDragOperationCopy, в зависимости от какого перетаскивает работу, которую Вы хотите, чтобы перетаскивание выполнило). Только приложения основывались на версии 10.2 OS X и позже затронуты; приложения основывались на версии 10.1.x OS X, не затронуты.

В OS X v10.4 Вы может работать вокруг этой ошибки без разделения на подклассы. По умолчанию реализация NSTableView draggingSourceOperationMaskForLocal: запрещает перетаскивание местам назначения за пределами приложения при разрешении любого типа перетаскивания в том же приложении. Можно изменить это поведение путем отправки табличного представления a setDraggingSourceOperationMask:forLocal: сообщение. Передача значения YES поскольку второй параметр указывает, что указанная маска применяется, когда целевой объект находится в том же приложении. Передача значения NO указывает, что указанная маска применяется когда целевой объект в приложении вне приложения получателя. Маски архивируются с табличным представлением.