Drag & Drop funktioniert nicht mit Unterklasse von NSBox
-
07-07-2019 - |
Frage
Ich habe eine Unterklasse von NSBox erstellt ziehen zu implementieren und fallen. Ich habe den folgenden Code:
@interface DropView : NSBox {
}
- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender;
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender;
@end
@implementation DropView
- (void)awakeFromNib
{
[self registerForDraggedTypes:
[NSArray arrayWithObject: NSFilenamesPboardType]];
}
- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender
{
NSDragOperation sourceDragMask = [sender
draggingSourceOperationMask];
if (sourceDragMask & NSDragOperationLink) {
return NSDragOperationLink;
} else if (sourceDragMask & NSDragOperationCopy) {
return NSDragOperationCopy;
}
return NSDragOperationNone;
}
-(BOOL)performDragOperation:(id <NSDraggingInfo>)sender
{
NSPasteboard *pboard=[sender draggingPasteboard];
NSArray *files = [pboard propertyListForType:NSFilenamesPboardType];
NSEnumerator *e=[files objectEnumerator];
NSString *str=nil;
while(str=[e nextObject]) {
NSLog(@"Got %@\n", str);
}
return (TRUE);
}
@end
Allerdings, Drag & Drop funktioniert nicht. Ich sehe nicht, die kleinen grünen und wenn ich versuche, etwas in das Feld zu ziehen.
Danke
Lösung
das Problem behoben. Statt die Klasse eines NSView zu DropView, die Einstellung der Klasse eines NSBox zu DropView Einstellung hat super funktioniert: -)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow