【发布时间】:2015-02-23 12:33:10
【问题描述】:
我有一个 NSBox,在 NSBox 里面是一个 NSImageView 来显示一个占位符图片。我创建了一个自定义类,NSBox 的子类,并让它接受拖动我想要的文件。但是当我拖过 NSBox 内的 NSImageView 时,它会退出拖拽区域,我不能在那里放任何东西。
我希望能够告诉 NSBox 和 NSImageView 使用我的拖动实现,这样我就不必在两个不同的类之间复制和粘贴代码。
我还没有找到方法。
我的理解是类别只能扩展一个特定的类,所以这是行不通的。
在测试合成时,我也没有找到任何可行的方法。
Posing 早就被弃用了,所以我不会尝试。
我的想法是创建一个类,NSView 的子类并将所有 con 放入该类实现中,然后尝试以某种方式在我的 NSBox 和 NSImageView 中继承该类。就像下面的插图(当然不是实际的代码,只是为了说明我想要做什么)。
@interface MyClass : NSView <NSDraggingDestination>
@end
@interface MyClassBox : NSBox (Inherit implementation from MyClass)
@end
@interface MyClassImageView : NSImageView (Inherit implementation from MyClass)
@end
【问题讨论】:
标签: objective-c cocoa