Технические вопросы и ответы QA1220

Перевключение перетаскивающий от NSTableView до других приложений

Q: Когда я восстанавливаю свое приложение на версии 10.2 Mac OS X, мой NSTableView теряет возможность перетащить к другим приложениям. Как я фиксирую это?

A: Когда я восстанавливаю свое приложение на версии 10.2 Mac OS X, мой NSTableView теряет возможность перетащить к другим приложениям. Как я фиксирую это?

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

Этот вопрос был решен в версии 10.4 Mac OS X. Для совместимости с тем выпуском и позже, не необходимо разделить NSTableView на подклассы для межприложения, перетаскивающего, который происходит с табличным представлением. Однако, необходимо сконфигурировать табличное представление путем вызова setDraggingSourceOperationMask:forLocal: метод. Это описано более подробно в Использовании Перетаскивания в Таблицах в конце раздела «Beginning a Drag Operation».



История версии документа


ДатаПримечания
08.02.2008

Обновленный для разрешения проблемы в Mac OS X 10.4.

02.12.2002

Новый документ, объясняющий, как повторно включить перетаскивание от NSTableViews до других приложений