Objective c 如何以编程方式终止NSDragingSession? 背景: 在Cocoa/ObjC中实现的OS-X应用程序 Xcode 6.1 基本SDK:10.0 部署目标:10.8+ 问题:
在我的应用程序中,我有一个自定义的Objective c 如何以编程方式终止NSDragingSession? 背景: 在Cocoa/ObjC中实现的OS-X应用程序 Xcode 6.1 基本SDK:10.0 部署目标:10.8+ 问题:,objective-c,macos,cocoa,appkit,Objective C,Macos,Cocoa,Appkit,在我的应用程序中,我有一个自定义的NSView子类,它实现了NSDraggingSource。我正在使用新的基于NSDraggingSession的API(而不是旧的弃用API) 我已经完全实现了我的拖动源代码,没有问题 我已经在实施: -[NSDraggingSource draggingSession:movedToPoint:] 我还想在此方法中执行一些命中检测,并根据命中测试的结果,可能以编程方式取消当前的拖动会话 那么:以编程方式取消/终止当前的NSDraggingSession的最
NSView
子类,它实现了NSDraggingSource
。我正在使用新的基于NSDraggingSession
的API(而不是旧的弃用API)
我已经完全实现了我的拖动源代码,没有问题
我已经在实施:
-[NSDraggingSource draggingSession:movedToPoint:]
我还想在此方法中执行一些命中检测,并根据命中测试的结果,可能以编程方式取消当前的拖动会话
那么:以编程方式取消/终止当前的NSDraggingSession
的最佳方式是什么?(最好从-[NSDraggingSource draggingSession:movedToPoint:
)
也可以在终止时指定nsdragooperation
笔记:
- 我尝试在自定义视图上调用
,认为这可能与拖动会话有关,但不起作用。我得到了一个异常,无法识别的选择器-[NSResponder cancelOperation:
- 我不需要帮助进行命中检测
- 一般来说,我不需要帮助实现
NSDraggingSource