NSImageView,用 CMD/CTR+C 复制图片

Posted

技术标签:

【中文标题】NSImageView,用 CMD/CTR+C 复制图片【英文标题】:NSImageView, copy image with CMD/CTR+C 【发布时间】:2016-04-26 12:32:14 【问题描述】:

如果 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 子类的支持,即 Editable=NO

【问题讨论】:

【参考方案1】:

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

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

不确定为什么当 Editable 为 YES 时会自动选择它

【讨论】:

以上是关于NSImageView,用 CMD/CTR+C 复制图片的主要内容,如果未能解决你的问题,请参考以下文章

NSImageView 拖放问题

Swift OSX NSImageView 拖放

通过约束调整 NSImageView 的大小

如何使用自动布局按比例缩小 NSImageView?

将 NSImageView 添加到 NSScrollView

AlamofireImage:是不是可以从 Swift 中的 NSimageview 获取原始数据?