macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

dragImage:at:offset:event:pasteboard:source:slideBack:

画像をドラッグします
-(void)dragImage:(NSImage *)anImage:
            at:(NSPoint)imageLoc:
            offset:(NSSize)mouseOffset:
            event:(NSEvent *)theEvent:
            pasteboard:(NSPasteboard *)pboard:
            source:(id)sourceObject:
            slideBack:(BOOL)slideBack:

解説

ドラッグ操作を始めます。
このメソッドは、mouseDownから呼び出されなければいけません
【anImage】
● ドラッグされる画像(NSImage)。
【imageLoc】
● ドラッグ画像のマウスポインタからの位置
【mouseOffset】
● マウスダウンした場所からのオフセット値
【theEvent】
● イベント
left-mouse-downイベントで送られてくるtheEvent。
【pboard】
● 宛先(下記参照)へ動かされるデータを保持する。
【sourceObject】
● ドラッギングソースオブジェクト
ドラッグ中の動作を決めるコントローラ。プロトコルがNSDraggingSourceにあっているオブジェクトで一般的にはレシーバーやそのウインドウ(NSWindow)にします。
【slideBack】
● ドラッグを中止したときに、YESならスライドしながら元に戻ります。NOならそのまま消えます。
このメソッドを呼び出す前に、pboardの上に転送されるデータを置かなければいけません。
ドラッグの操作についてはNSDraggingSource、NSDraggingInfo、NSDraggingDestinationプロトコルの説明を見て下さい。

返り値

( void )

なし

引数

( NSImage * )anImage

画像

( NSPoint )imageLoc

開始地点

( NSSize )mouseOffset

オフセット

( NSEvent * )theEvent

イベント

( NSPasteboard * )pboard

ペーストボード

( id )sourceObject

ソースオブジェクト

( BOOL )slideBack

ライドバックするか

フレームワーク

ApplicationKit

クラス

NSView

Instance Methods

使用可能

10.0

参照

- dragFile:fromRect:slideBack:event:
- shouldDelayWindowOrderingForEvent:

例文

#import "MyImageView.h"

@implementation MyImageView
-(void)mouseDown:(NSEvent *)event
{
    [self dragImage: [self image]//ドラッグ画像
        at: [self bounds].origin//画像をドラッグしはじめる最初の位置
        offset: NSZeroSize//オフセット。NSZeroSizeはオフセット無し。ドラッグしたポイント
        event:event//eventにはマウスダウンイベントが入っている。
        pasteboard:nil//レシーバからのペーストボード
        source: self//ソース
        slideBack: YES];//

}

@end