我想在没有the NSTableViewDataSource Methods的情况下使用NSTableView,但就像普通视图一样。我正在调用draggingEntered:
和draggingExited:
但是当我返回NSDragOperationCopy
时,我看不到绿色加鼠标指针而performDragOperation:
没有被调用。
我使用以下方法将NSTableView子类化:
- (void)awakeFromNib
{
[self registerForDraggedTypes: [NSArray arrayWithObject: NSFilenamesPboardType]];
}
- (NSDragOperation)draggingEntered: (id < NSDraggingInfo >)sender
{
NSLog(@"draggingEntered"); //Gets called
return NSDragOperationCopy;
}
- (void)draggingExited: (id < NSDraggingInfo >)sender
{
NSLog(@"draggingExited"); //Gets called
}
- (BOOL)performDragOperation: (id < NSDraggingInfo >)sender
{
NSLog(@"performDragOperation"); //Doesn't get called
return YES;
}
答案 0 :(得分:0)
文档说它符合NSDraggingDestination和NSDraggingSource协议,所以是的,它应该进行正常的拖放操作。
您可以尝试使用nsview中的-registerForDraggedTypes:方法。