2015-02-10 53 views
0

我有一個NSImageView拖放連接如下:NSImageView拖放仍然有效外窗口邊界

-(NSDragOperation)draggingEntered:(id<NSDraggingInfo>)sender{ 

    if ((NSDragOperationGeneric & [sender draggingSourceOperationMask]) 
     == NSDragOperationGeneric) { 

     return NSDragOperationGeneric; 

    } // end if 

    // not a drag we can use 
    return NSDragOperationNone; 
} 


-(NSDragOperation) draggingUpdated:(id<NSDraggingInfo>)sender{ 

    return NSDragOperationCopy; 
} 

-(void) draggingEnded:(id<NSDraggingInfo>)sender{ 

    NSPasteboard *pboard = [sender draggingPasteboard]; 

    if ([[pboard types] containsObject:NSFilenamesPboardType]) 
    { 
     NSArray *files = [pboard 
       propertyListForType:NSFilenamesPboardType]; 

     // Loop through all the files and process them. 
     for(int i = 0; i < [files count]; i++) 
     { 
      .... 
     } 
} 

這一切的偉大工程。當從Finder中拖動fils時,它會在視圖內指示加號,並在外部刪除加號。它還指出要在一個小泡中複製多少個文件。所有這一切都很好。但是,如果我拖動視圖並在應用程序外部加速消失,但在發佈時仍會將文件放入視圖中。我怎樣才能制止這種行爲?

非常感謝任何想法。

回答

0

我想我找到了解決方案。

而不是使用draggingEnded我使用performDragOperation和所有的作品。