NSImageView,使用CMD / CTR + C复制图像

时间:2016-04-26 12:32:15

标签: macos cocoa nsimageview nscontrol

如果NSImageView是可编辑的并且包含图像,则可以通过CMD + C复制其内容

在我的子类中,我不希望Editable属性为YES(切割,丢弃等原因......)我只是想支持副本,但是无法弄清楚是什么让副本工作

在我的子类中,我试过

- (void)copy:(id)sender {

}

- (BOOL)refusesFirstResponder {
    return NO;
}

- (BOOL)respondsToSelector:(SEL)aSelector {

    if (aSelector == @selector(copy:)) {
        return YES;
    }
    return [super respondsToSelector:aSelector];

}

但菜单中的复制命令显示为灰色且CMD + C也不起作用(它触发菜单copy:

如何添加对复制NSImageView子类的支持,可编辑=否

1 个答案:

答案 0 :(得分:0)

关键是将NSImageView设置为第一响应者

[self.view.window makeFirstResponder:self.imageView];

不确定为什么在Editable为YES时自动选择了