我從來沒有處理過很多與NSViews,所以我在這方面的損失。我有一個自定義類,其中包含一個NSImage
伊娃。我也有一個NSView
的子類,其中包含我的自定義類的實例數組。自定義類的NSImage
在創建時被繪製在NSView
的中心。我需要能夠自由地圍繞NSView
拖動NSImage
。如何實現在NSView中拖動NSImage?
我已實現了以下方法開始:
-(void)mouseDown:(NSEvent *)theEvent
{
[self beginDraggingSessionWithItems: /* I don't know what to put here */
event:theEvent
source:self];
}
我試圖放置NSImage
對象從我的自定義類的數組作爲項目拖,但將引發異常。我也嘗試創建一個NSDraggingItem
放置在那裏,但它不能將對象寫入粘貼板並引發異常。
-(void)draggingSession:(NSDraggingSession *)session willBeginAtPoint:(NSPoint)screenPoint
{
NSLog(@"began");
}
-(void)draggingSession:(NSDraggingSession *)session movedToPoint:(NSPoint)screenPoint
{
NSLog(@"moved");
}
-(void)draggingSession:(NSDraggingSession *)session endedAtPoint:(NSPoint)screenPoint operation:(NSDragOperation)operation
{
NSLog(@"ended");
}
這些方法得到正確稱爲我點擊並拖動我的鼠標在我的NSView
子但它們是無用的,直到我能得到要移動的對象。
我相信答案可能是爲每個圖像創建一個NSDraggingItem
,然後使用它在視圖中自由移動它們,但是我無法使它適用於一個對象,也不知道如何正確實現此想法。任何幫助表示讚賞。
'拖動圖像中寫道:在:偏移:事件:紙板:來源:slideBack:從10.10 SDK開始已棄用。 – 2014-07-07 06:55:47