Cocoa API解説(macOS/iOS)

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。

目次

draggedImage:endedAt:operation:

ドラッグが終了したときに呼ばれます
-(void)draggedImage:(NSImage *)anImage:
            endedAt:(NSPoint)aPoint:
            operation:(NSDragOperation)operation:

解説

ドラッグが終了したときに呼ばれます。
【NSDragOperation】
● NSDragOperationNone 何もなかった
● NSDragOperationCopy
● NSDragOperationLink
● NSDragOperationGeneric
● NSDragOperationPrivate
● NSDragOperationAll_Obsolete
● NSDragOperationMove
● NSDragOperationDelete
● NSDragOperationEvery

返り値

( void )

なし

引数

( NSImage * )anImage

画像

( NSPoint )aPoint

ドラッグが終了した位置

( NSDragOperation )operation

ドラッグ操作

フレームワーク

ApplicationKit

クラス

NSDraggingSource

Instance Methods

使用可能

10.1

参照

例文

#import "MyImageView.h"

@implementation MyImageView
-(void)awakeFromNib
{
//ドロップされるファイルの登録
NSArray *type = [NSArray arrayWithObjects:NSFilenamesPboardType,NSTIFFPboardType,nil];
[self registerForDraggedTypes:type];
}
-(void)mouseDown:(NSEvent *)event
{

[self dragImage: [self image]//ドラッグ画像
        at: [self bounds].origin//画像をドラッグしはじめる最初の位置
        offset: NSZeroSize//オフセット。NSZeroSizeはオフセット無し。ドラッグしたポイント
        event:event//eventにはマウスダウンイベントが入っている。
        pasteboard:[NSPasteboard generalPasteboard]//レシーバからのペーストボード
        source: self//NSDraggingSourceの記述場所
        slideBack: YES];//


}

-(void)draggedImage:(NSImage *)anImage endedAt:(NSPoint)aPoint operation:(NSDragOperation)operation
{
NSLog([NSString stringWithFormat:@"end %.1f,%.1f",aPoint.x,aPoint.y]);

switch (operation){
    case NSDragOperationNone:
        NSLog(@"NSDragOperationNone");
        break;
    case NSDragOperationCopy:
        NSLog(@"NSDragOperationCopy");
        break;
    case NSDragOperationLink:
        NSLog(@"NSDragOperationLink");
        break;
    case NSDragOperationGeneric:
        NSLog(@"NSDragOperationGeneric");
        break;
    case NSDragOperationPrivate:
        NSLog(@"NSDragOperationPrivate");
        break;
    case NSDragOperationAll_Obsolete:
        NSLog(@"NSDragOperationAll_Obsolete");
        break;
    case NSDragOperationMove:
        NSLog(@"NSDragOperationMove");
        break;
    case NSDragOperationDelete:
        NSLog(@"NSDragOperationDelete");
        break;
    case NSDragOperationEvery:
        NSLog(@"NSDragOperationEvery");
        break;
    default:
        NSLog(@"default");
}
}
@end