拖拽后避免NSImageView更改图像下降

时间:2015-12-09 08:46:33

标签: objective-c xcode macos nsimageview

我已编码拖动&删除NSImageView,并将NSImageView设置为PDF /图像文件放置区。但是我发现一旦文件丢失,NSImageView会显示丢弃的文件内容和图像。我怎么能避免这种情况?我希望NSImageView显示我在应用程序启动时设置的默认图像。我也尝试添加此代码但不起作用:

[imgView setImage:[NSImage imageNamed:@"default.jpg"]];

3 个答案:

答案 0 :(得分:1)

处理完数据后,您可以清除NSDraggingInfo,如下所示:

override func performDragOperation(_ sender: NSDraggingInfo) -> Bool {
    // process your data form NSDraggingInfo

    // and clearContents   
    sender.draggingPasteboard().clearContents()

    return true 
}

答案 1 :(得分:0)

  1. 创建ImageView的子类。如果在其实现文件中有删除drawRect:(NSRect)rect方法。你不需要它。
  2. xlsread()

    1. 点击右侧边栏的标识检查器标签。然后在选择你已经完成的imageView控件之后输入imageView子类的名称。

    2. 单击侧栏的属性检查器选项卡。选择imageView控件,然后在顶部组合框中输入背景图像的名称。

    3. enter image description here

答案 2 :(得分:0)

子类化NSImageView并实现以下方法。
默认情况下,从concludeDragOperation用draggingInfo设置新图像。

override func concludeDragOperation(_ sender: NSDraggingInfo?) {
    return
}