我想禁止将任何东西放入我的NSTextField中。在我的应用程序中,用户可以将iCal事件拖放到GUI的不同部分。现在我有一个测试用户不小心将iCal事件放入文本字段 - 但他没有意识到这一点,因为文本插入到我在单行文本字段中看到的那一行上方的行中。 (您可以通过点击文本字段并使用键盘排列一行来显示插入的文本 - 但普通用户不会这样做,因为他/她甚至不会意识到插入了某些东西)如何禁用NSTextField的拖放操作?
我试过registerForDraggedTypes:[NSArray array]]
(似乎没有任何影响)以及实现draggingEntered:
委托方法返回NSDragOperationNone
(委托方法甚至没有被调用)。
任何想法?
编辑:当它集中在his blog并在comments to a blog entry by Daniel Jalkut通过SSP描述当然掉落的东西到一个的NSTextField中,只有工作。
我终于来试试这个(我同意文档听起来好像这应该做的工作)。 所以在我的控制器的awakeFromNib中,我在我的NSTextField插座上调用unregisterDraggedTypes。然而这似乎没有任何效果......我仍然可以将东西拖入我的领域。 – 2009-03-04 14:17:29
你是否在调试器中检查了你的插座,以确认它在调用unregisterDraggedTypes时连接了而不是NULL? – Mark 2009-03-04 14:51:37