Я пытаюсь заставить часть моего окна реагировать на перетаскивание. В этом случае необходимо скопировать путь к файлу, который удаляется в представлении. Я просмотрел некоторую документацию, но у меня все еще есть некоторые проблемы, чтобы точно определить, где я должен реализовать свои методы перетаскивания.
Я видел несколько примеров, но почти все они предполагают, что я хочу добавить изображение в представление. Я довольно новичок в какао и Xcode, поэтому у меня возникли проблемы с определением точной связи между создателем интерфейса и сгенерированным кодом.
Я создал подкласс для NSView, который называется Drop Zone следующим образом:
#import <Cocoa/Cocoa.h>
@interface dropZone : NSView {
}
@end
Затем я использую NSRect, чтобы окрасить его в серый цвет:
#import "dropZone.h"
@implementation dropZone
- (void)drawRect:(NSRect)rect
{
NSRect bounds = [self bounds];
[[NSColor grayColor] set];
[NSBezierPath fillRect:bounds];
}
@end
Затем я перетаскиваю этот класс в свое окно в конструкторе интерфейсов. Но мне нужно будет реализовать метод registerForDraggingTypes
, но где? Я также видел в документах Apple удобный метод для путей к файлам: dragFile:fromRect:slideBack:event:
, который может работать.
Должен ли я использовать первого респондента? Метод init или как?