Ben böyle init yönteminde sürükleme dosyaları için kaydeder bir NSView alt sınıf:Kakao NSView Subview engelleme sürükle/bırak
[self registerForDraggedTypes:[NSArray arrayWithObject:NSFilenamesPboardType]];
Ben bu görüşe bir subview eklerseniz sürükle bırak mükemmel çalışıyor, ancak Tam olarak aynı çerçeve, artık çalışmıyor. Tahminim, alt görüntünün, süper görünüme gitmek için sürükleme olayını engellemesidir. Bunu önleyebilir miyim? Teşekkürler
Ayrıca, iki soru sorduğumu biliyorum, ancak bunun için yeni bir konu oluşturmak istemiyorum: Sürüklerken, imlecim diğerleriyle olduğu gibi "+" işaretine dönüşmez sürükler, bunu nasıl yapabilirim? Tekrar teşekkürler.
GÜNCELLEME: İşte bu benim IB kurdunuz nasıl:
DrawView ben draggedtypes kaydolduğum bahsettiği özel sınıftır.
- (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;
}
alt çizimini nasıl oluşturacağınız alt sınıfını nasıl oluşturmalısınız? IB aracılığıyla veya program aracılığıyla oluşturulmuş bir alt görünüme sahip bir görünüme sürüklenebiliyorum. –
IB'de ayarlanmış görünümüm var. Bu sınıfı, yukarıda anlattığım özel sınıfa ayarladım. Daha sonra IB'de, bir görüntüyü sürükleyip o görünümün içine koyarım (onu bir alt görünüm yapın). Bunu yaptığımda sürükleme durur. Teşekkürler. – user635064
Daha fazla ayrıntı sağlayan orijinal soru güncellendi. Teşekkürler. – user635064