Я пытаюсь написать некоторый абсолютно базовый код, куда я могу перетащить плоскость файл 'dot.txt' на NSWindow и чтение в данных (и ничто более необычное, чем это), но все примеры, я смог найти изображения использования и NSViews и т.д., раздел 'Dragging File Contents' Apple в его "Темах Программирования перетаскивания для Какао" документация подтверждает, что перетаскивание на простой NSWindow (а не в NSView и т.д.) возможно и, кажется, обсуждает точно, что я пытаюсь сделать, но как относительный новичок я все еще нахожу его ссылку на изображения и кадры сбивающей с толку.
Кто-либо может помочь мне начать путем показа мне, где к 'registerForDraggedTypes' кроме вставления это говорит, 'initWithFrame' или 'initWithCoder' метод, и что типы зарегистрироваться для? После того как я заставляю окно распознавать мое перетаскивание, которое я могу взволновать по поводу другого 'performDragOperation', и 'draggingEntered' наполняют позже.
Спасибо :-)
Это часть кода, над которой я работаю. Вы можете найти этот метод, когда вы создали новый проект.
-(void)applicationDidFinishLaunching:(NSNotification*)aNotification
{
[window registerForDraggedTypes:[NSArray arrayWithObjects:NSFilenamesPboardType, nil]];
}
Я тоже Ньюби. Во всяком случае, это сработало для меня.
А потом это важно. Мы должны подключить этот объект к объекту Window для обработки сообщений падения в этом объекте
Откройте MainMenu.xib, а застройщик интерфейса будет всплыть. В Interface Builder, подключите «App Delate» (этот объект), чтобы «Делегировать» выпускное отверстие «Окно». (Вы можете найти выход «Делегат» на панели инспектора) Теперь «делегат приложений» получает сообщения о событиях «окна».
А затем добавляет больше метода в одном классе файл:
-(NSDragOperation)draggingEntered:(id < NSDraggingInfo >)sender
{
return NSDragOperationGeneric;
}
-(BOOL)prepareForDragOperation:(id < NSDraggingInfo >)sender
{
NSPasteboard* pbrd = [sender draggingPasteboard];
// Do something here.
return YES;
}