我想用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
}
}
答案 0 :(得分:0)
NSImage.imageFileTypes()
不是self.registerForDraggedTypes
的有效数组。
尝试使用[NSFilenamesPboardType]
。
required init?(coder: NSCoder) {
println("init")
super.init(coder: coder)
self.registerForDraggedTypes([NSFilenamesPboardType])
}