osx拖动不工作

时间:2015-06-02 12:09:39

标签: macos swift drag-and-drop

我想用swift创建一个最小的Drag操作示例。但是,到目前为止,这种方法效果不佳。没有调用NSDraggingDestination函数,但我无法发现我的错误:(

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
}
}

1 个答案:

答案 0 :(得分:0)

NSImage.imageFileTypes()不是self.registerForDraggedTypes的有效数组。

尝试使用[NSFilenamesPboardType]

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