Вопрос

По умолчанию (похоже), ikimageBrowsiview позволяет перетаскивать в местах в поисках. Я хотел бы отключить это поведение, но не уверен, как это сделать. Я думал, что, возможно, внедряя протокол NSdraggingdence и переоценить его, но до сих пор это не сработало для меня.

Спасибо за любую помощь!

Это было полезно?

Решение

Если вы хотите настроить поведение перетаскивания IkimageBrowsiview, вы можете реализовать - (NSUInteger) imageBrowser:(IKImageBrowserView *) aBrowser writeItemsAtIndexes:(NSIndexSet *) itemIndexes toPasteboard:(NSPasteboard *)pasteboard Метод в исходном источнике данных вашего браузера. Это позволит вам определить, какие типы и данные, которые вы хотите поставить на картонную панель при выполнении перетаскивания. Если вы хотите отключить перетаскивание полностью, вы должны просто вернуться 0 (количество элементов, которые вы хотите перетащить).

Другие советы

Если вы ориентируетесь на льви, вы можете подкласс IKImageBrowserView и переопределить draggingSession:sourceOperationMaskForDraggingContext: Nsdraggingsource протокол метод. Чтобы предотвратить перетаскивание вне вашего приложения, просто верните NSDragOperationNone Если контекст NSDraggingContextOutsideApplication. Отказ В противном случае верните операции перетаскивания, которые вас интересуют. Таким образом, вы можете запретить перетаскивания на рабочий стол, Finder и т. Д. Но все же разрешать перетаскивать в виду браузера изображения вашего приложения.

- (NSDragOperation)draggingSession:(NSDraggingSession *)session sourceOperationMaskForDraggingContext:(NSDraggingContext)context {
    [super draggingSession:session sourceOperationMaskForDraggingContext:context];

    switch (context) {
        case NSDraggingContextOutsideApplication:
            return NSDragOperationNone;
            break;

        case NSDraggingContextWithinApplication:
            return NSDragOperationAll;
            break;

        default:
            return NSDragOperationAll;
            break;
    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top