Допустим, у меня есть объект Core Data под названием Event, который представляет повторяющиеся (ежегодные) события. Каждое событие имеет значок" Перетаскивание работает отлично ...
У меня есть подкласс NSView, который регистрирует файлы перетаскивания в методе инициализации следующим образом:
[self registerForDraggedTypes:[NSArray arrayWithObject:NSFilenamesPboardType]];
Перетаскивание работает отлично, но если я добавлю в это представление подвид с тем же самым frame, он больше не работает. Я предполагаю, что подпредставление блокирует событие перетаскивания, чтобы перейти в супервизор. Могу ли я этого избежать? Спасибо
Кроме того, я знаю, что задаю два вопроса, но я не хочу создавать новую тему только для этого: когда я перетаскиваю, мой курсор не меняется на знак "+", как при других перетаскиваниях , Как мне это сделать? Я предполагаю, что подпредставление блокирует событие перетаскивания, чтобы перейти в супервизор. Могу ли я этого избежать? Спасибо
Кроме того, я знаю, что задаю два вопроса, но я не хочу создавать новую тему только для этого: когда я перетаскиваю, мой курсор не меняется на знак "+", как при других перетаскиваниях , Как мне это сделать? Я предполагаю, что подпредставление блокирует событие перетаскивания, чтобы перейти в супервизор. Могу ли я этого избежать? Спасибо
Кроме того, я знаю, что задаю два вопроса, но я не хочу создавать новую тему только для этого: когда я перетаскиваю, мой курсор не меняется на знак "+", как при других перетаскиваниях , Как мне это сделать? Thanks again.
UPDATE: Here's the how I have it set up in my IB:
The DrawView is the custom class I was talking about that registered for draggedtypes. And the Image view simply is a subview, I dragged an image from the media section... Если это поможет, вот мой соответствующий код для DragView:
- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender {
return NSDragOperationCopy;
}
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender {
NSPasteboard *pboard;
pboard = [sender draggingPasteboard];
NSArray *list = [pboard propertyListForType:NSFilenamesPboardType];
if ([list count] == 1) {
BOOL isDirectory = NO;
NSString *fileName = [list objectAtIndex:0];
[[NSFileManager defaultManager] fileExistsAtPath:fileName
isDirectory: &isDirectory];
if (isDirectory) {
NSLog(@"AHH YEA");
} else {
NSLog(@"NOO");
}
}
return YES;
}