2015-06-02 92 views
1

我想創建一個使用swift進行拖動操作的最小工作示例。不過,目前這種情況並不理想。的NSDraggingDestination功能沒有被調用,但我看不出我的錯誤:(osx拖動不起作用

class DragView : NSView , NSDraggingDestination { 


required init?(coder: NSCoder) { 
    println("init") 
    super.init(coder: coder) 
    let theArray = NSImage.imageFileTypes() 
    self.registerForDraggedTypes(theArray) 
} 

override func draggingEntered(sender: NSDraggingInfo) -> NSDragOperation { 
    println("draggingEntered") 
    return NSDragOperation.Copy 
} 


override func draggingUpdated(sender: NSDraggingInfo) -> NSDragOperation { 
    println("draggingUpdated") 
    return NSDragOperation.Copy 
} 

override func prepareForDragOperation(sender: NSDraggingInfo) -> Bool { 
    println("prepareForDragOperation") 
    return true 
} 
} 

回答

0

NSImage.imageFileTypes()不是self.registerForDraggedTypes一個有效的數組。

[NSFilenamesPboardType]例如嘗試。

required init?(coder: NSCoder) { 
    println("init") 
    super.init(coder: coder) 
    self.registerForDraggedTypes([NSFilenamesPboardType]) 
} 
+0

Thxs,這是訣竅 – abnormi