4

我有一个 NSImageView 的实例。我已经告诉 InterfaceBuilder 允许用户将图像粘贴或拖动到此视图中。这行得通。但是,我在 NSImageView 或相关文档中看不到在实际发生这种情况时得到通知的方法。我期待一个代表或类似的人,但我一直找不到它。有任何想法吗?

4

2 回答 2

1

这是 Cocoa Bindings 最擅长的。

无需与视图对话,只需拥有一个值为图像的属性,并将图像视图的image绑定绑定到它;然后,当您想自己更改图像视图中的图像时,您所要做的就是设置属性的值,图像视图会注意到更改。

用户粘贴或拖动到图像视图中本质上是相同的,部分相反:粘贴或拖放将更改图像视图的值,然后设置您的属性的值,这将导致绑定到它的任何其他内容注意到变化并像以前一样拾取新值。

除了删除您现有的 send-explicit-messages-to-views 代码之外,这几乎不需要任何代码工作:您唯一需要的代码就是您的财产。您将在 IB 中连接绑定。

请参阅Key-Value Coding Programming GuideCocoa Bindings Programming Topics

于 2010-03-21T00:59:19.707 回答
0

至于我更好的方法来覆盖功能

-(无效)粘贴:(id)发件人

但前提是你有它在基于 NSView 的类中,它有 NSResponder 作为父级

于 2018-10-02T17:24:12.607 回答