我有一個NSBox,並在NSBox內是一個NSImageView來顯示佔位符圖片。我創建了一個自定義類,NSBox的子類,並使其接受拖動我想要的文件。但是當我拖過NSBox裏面的NSImageView時,它會退出拖拽區域,我不能放下任何東西。使NSImageView和NSBox使用拖放相同的實現
我想能夠告訴NSBox和NSImageView使用我的拖動實現,這樣我就不必在兩個不同的類之間複製和粘貼代碼。
我還沒找到辦法做到這一點呢。
我的理解是類別只能擴展一個特定的類,所以這是行不通的。
而且當測試Composition時,我還沒有發現任何可以工作的東西。
而構成已被棄用,因爲我不會嘗試。
我的想法是創建一個類,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
謝謝,這工作得很好! – 2015-02-27 04:55:12