Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 在nsviewcontroller中实现拖放_Objective C_Macos_Drag And Drop - Fatal编程技术网

Objective c 在nsviewcontroller中实现拖放

Objective c 在nsviewcontroller中实现拖放,objective-c,macos,drag-and-drop,Objective C,Macos,Drag And Drop,我试图在nsviewcontroller中捕获拖放事件,但是 拖拉 不叫 这是我的密码: - (void)viewDidLoad { [self.view registerForDraggedTypes:[NSArray arrayWithObjects:NSTIFFPboardType, NSFilenamesPboardType, nil]]; [super viewDidLoad]; // Do any additional setup after loading the view.

我试图在nsviewcontroller中捕获拖放事件,但是

拖拉

不叫

这是我的密码:

- (void)viewDidLoad {
[self.view registerForDraggedTypes:[NSArray arrayWithObjects:NSTIFFPboardType, NSFilenamesPboardType, nil]];

[super viewDidLoad];

// Do any additional setup after loading the view.
}

- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender{
    return NSDragOperationCopy;
}

- (BOOL)prepareForDragOperation:(id )sender {
    return YES;
}
-(void)viewDidLoad{
[self.view registerForDragedTypes:[NSArray arrayWithObjects:NSTIFFPboardType,NSFileNameSPOARDTYPE,nil]];
[超级视图下载];
//加载视图后执行任何其他设置。
}
-(NSDragOperation)DragginGeted:(id)发送方{
返回NSDRAGO操作副本;
}
-(BOOL)prepareForDragOperation:(id)发送方{
返回YES;
}
我添加了自定义视图,但它也没有获取事件:

   @implementation MyView
- (instancetype)initWithCoder:(NSCoder *)coder
{
    self = [super initWithCoder:coder];
    if (self) {
        [self registerForDraggedTypes:[NSArray arrayWithObjects: NSColorPboardType, NSFilenamesPboardType, nil]];
    }
    return self;
}

- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender {

    return NSDragOperationNone;
}

@end
@实现MyView
-(instancetype)initWithCoder:(NSCoder*)编码器
{
self=[super initWithCoder:coder];
如果(自我){
[self-RegisterOrdRaggedTypes:[NSArray arrayWithObjects:NSColorPboardType,nsFileNamespoardType,nil]];
}
回归自我;
}
-(NSDragOperation)DragginGeted:(id)发送方{
返回nsdragooperationne;
}
@结束

您只是在错误的类上实现了nsdragooperation。NSViewController的用途是什么?我只是在测试拖放,有一个视图控制器,在这个vc中我注册了拖放以供查看。我应该使用自定义视图?嘿,你是对的。。。我已从视图控制器中删除覆盖,因此我的自定义视图现在可以获得拖放事件。